You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Jean-Bruno Giard <jo...@hotmail.com> on 2004/06/28 19:20:57 UTC

Javascript validation in a velocity portlet using panes

Hello

I have an HTML form in a Velocity portlet using panes. I would like to know 
if it is possible to validate this form with Javascript. I tried to create 
hidden fields but when I have more than one fields to validate, it does not 
work.

Here is my code :

For this code, I tried to validate "Description" and "Due date" fields.

Thank you in advance

Jean-Bruno Giard

<html>
<head>
<script language=JavaScript>
<!--
function ValidateTemplate()
{
	var FieldList = "";
	// Field1 validation.
	if (document.form.description.value == "")
	{
		FieldList = "Description\n"; // Message to user.
	};
	// Field2 validation.
	if (document.form.duedate.value == "")
	{
		FieldList = FieldList + "Due date\n"; // Message to user.
	};

// Other validations go here. Copy from above.
// Submit form or display message.
	if (FieldList == "")
	{
		document.form.submit();
	} else
	{
		alert("Please fill in the following field(s):\n\n" + FieldList);
	};
}

function save()
	{
		document.form.eventSubmit_doSave.value="Save";
		if (ValidateTemplate())
		{
			document.form.submit();
		}
	}

//-->
</script>
</head>
<body>
<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="">
  <tr>
    <td>
      <form action="$jslink.Template" method="post" name="form">
        <table width="100%" border="0" cellpadding="0" cellspacing="0" 
summary="">
          <th>

<!-- HERE IS MY SAVE BUTTONS AND HIDDEN BUTTON -->

          <input type="hidden" name="eventSubmit_doSave">
          <input type="button" name="eventSubmit_doSave" value="Save" 
onClick="save()">
          <input type="submit" name="eventSubmit_doCancel" value="Cancel">
          </th>
        </tr>
      </table>
    </td>
  </tr>
   <tr>
    <td>

<!-- HERE IS MY HIDDEN FIELDS TO VALIDATE -->

<input type="hidden" name="description" 
value="$!curTemplate.getDescription()">
<input type="hidden" name="duedate" value="$!curTemplate.getDueDateText()">


<!-- HERE IS MY PANES -->

      <table width="100%" border="0" cellspacing="3" cellpadding="0" 
style="border-bottom: groove">
        <tr>
          #set ( $tabNames = ["description", "context","due_date"] )
          #set ( $tabActions = ["doDescription", "doContext", "doDue_date"] 
)
          #set ( $index = 0 )
          #foreach ( $name in $tabNames )
          #if ( $curTab == $name )

<!-- HERE IS MY FORM -->

          <td style="text-align: center">
            <a href="$jslink.Template?eventSubmit_$tabActions.get($index)" 
target="_self" style="color: #000000">$name</a>
          </td>
          #else
          <td class="TitleStyleClass" style="text-align: center">
            <a href="$jslink.Template?eventSubmit_$tabActions.get($index)" 
target="_self" style="color: #FFFFFF">$name</a>
            #end
          </td>
          #set ( $index = $index + 1 )
          #end
        </table>
      </td>
    </tr>
    <tr>
      <td>
        <table border="1" cellpadding="3" cellspacing="0" width="100%">
          #if ( $curTab == "description")
          <tr>
            <td width="30%" valign="top">
              <b>Description : <b></td>
            <td valign="top" width="70%">
              <textarea wrap="hard" name="description" 
rows="7">$!curTemplate.getDescription()</textarea>
            </td>
          </tr>
          #elseif ( $curTab == "context" )
          <tr>
            <td width="30%" valign="top">
              <b>Context :<b></td>
            <td valign="top" width="70%">
              <textarea wrap="hard" name="context" 
rows="7">$!curTemplate.getContext()</textarea>
            </td>
          </tr>
          </tr>
          #elseif ( $curTab == "due_date" )
          <tr>
            <td width="30%" valign="middle">
              <b>Due date :</b></td>
            <td valign="middle" width="70%">
              <input type="text" name="duedate" 
value="$!curTemplate.getDueDateText()" style="width: 100%">
            </td>
          </tr>
          #end
      </form>
    </td>
  </tr>
</table>
</body>
</html>

_________________________________________________________________
MSN Search, le moteur de recherche qui pense comme vous !  
http://fr.ca.search.msn.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org