I could not get the packaged struts2 ajax implementation to work, so I am 
trying to go at it with plain javascript. A problem that I am having is that 
whenever I submit the form, all of my form fields keep getting appended over 
and over. If I click submit enough, it causes an overflow error. Can you take a 
look at my code? Thanks.
 
<script language='Javascript'>
function retrieveURL(url, target, submitFormFlag, nameOfFormToPost) {
  var req = getXmlHttpRequest(); 
  var method = "GET";
  if (submitFormFlag) {
    url = url + getFormAsString(nameOfFormToPost);
    method = "POST";


      req.setRequestHeader("Content-Type", 
"application/x-www-form-urlencoded"); 
   }


  req.onreadystatechange = function() { 
  if (req.readyState == 4) {
    if (req.status == 200) {
      if (req.responseText.length > 0) {
        target.innerHTML = "";
        target.innerHTML = req.responseText;
      }
    } else {
      alert("Error encountered. Please contact support.");
    }
  }
  req.open(method, url, true);
  req.send(null);
  return false;
}
 
function getFormAsString(formName){
  var x = document[formName];
  returnString = "?1=1";
  formElements = document[formName].elements;
  for(var i = formElements.length-1; i >= 0; --i) {
    returnString = returnString + "&" + encodeURI(formElements[i].name) + "=" + 
encodeURI(formElements[i].value);
  }
  return returnString; 
}
 
function do_submit() {
  retrieveURL('NameOfAction!list.action', sometarget, true, 'aform');
}
</script>
 
<form name='aform'>
  <s:textfield name="field1" value="%{field1}" /> 
  <s:textfield name="field2" value="%{field2}" /> 
  <s:textfield name="field3" value="%{field3}" /> 
  <s:textfield name="field4" value="%{field4}" /> 
  <s:textfield name="field5" value="%{field5}" /> 
  <input type='button' value='submit' onclick='do_submit()'/>
</form>
 
<div id='sometarget'></div>
 
 
_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline

Reply via email to