2015-02-10 83 views
0

比方说,我有以下的html:在多个表单中选择特定表单的元素?

<form id="myform"> 

    <input type="hidden" name="var1" value="1" /> 
    <input type="hidden" name="var2" value="2" /> 

<select name="var3" onchange="submitForm();return false"> 
<option value="1">choice 1</option> 
<option value="2">chocie 2</option> 
<option value="3">choice 3</option> 
</select>  

</form> 


<form id="myform2"> 

    <input type="hidden" name="var1" value="1" /> 
    <input type="hidden" name="var2" value="2" /> 

<select name="var3" onchange="submitForm();return false"> 
<option value="1">choice 1</option> 
<option value="2">chocie 2</option> 
<option value="3">choice 3</option> 
</select>  

</form> 

[...等许多形式]

和这个JS:

 <script> 
function submitForm() { 
    var OAjax, var1 = document.getElementsByName('var1')[0].value, 
     var2 = document.getElementsByName('var2')[0].value, 
     var3 = document.getElementsByName('var3')[0].value; 
    if (window.XMLHttpRequest) OAjax = new XMLHttpRequest(); 
    else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP'); 
    OAjax.open('POST', "return.php", true); 
    OAjax.onreadystatechange = function() { 
     if (OAjax.readyState == 4 && OAjax.status == 200) { 
      if (document.getElementById) { 
       document.getElementById('msg').innerHTML = '' + OAjax.responseText + ''; 
      } 
     } 
    } 
    OAjax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
    //create a parma string using the input values 
    OAjax.send('var1=' + var1 + '&var2=' + var2 + '&var3=' + var3); 
} 
     </script> 

我想从表单变量用户实际上正在操纵。但对于实际的JS,它不会从好的表单中选择值,因为它们在我的页面上很多。我试图找到一种处理多种形式的方法。

比如我试图var1 = document.getElementsById('myform').getElementsByName('var1')[0].value, 但它不会工作

我应该可能与submitForm("myform")例如指定当前<form>的id属性值?如果是这样的话,我需要什么JS。

非常感谢。

回答

0

有很多方法可以继续。这里有一个简单的更新,这只是从你略有不同:

更改呼叫submitForm在表中包括ID,如:

<select name="var3" onchange="submitForm('myform');return false"> 

然后使用在SubmitForm:将

function submitForm(formId) { 
var OAjax, 
    elements = document.getElementById(formId).elements, 
    var1 = elements['var1'].value, 
    var2 = elements['var2'].value, 
    var3 = elements['var3'].value; 
if (window.XMLHttpRequest) OAjax = new XMLHttpRequest(); 
else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP'); 
OAjax.open('POST', "return.php", true); 
OAjax.onreadystatechange = function() { 
    if (OAjax.readyState == 4 && OAjax.status == 200) { 
     if (document.getElementById) { 
      document.getElementById('msg').innerHTML = '' + OAjax.responseText + ''; 
     } 
    } 
} 
OAjax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
//create a parma string using the input values 
OAjax.send('var1=' + var1 + '&var2=' + var2 + '&var3=' + var3); 

}

+0

它很好用谢谢 – 2015-02-11 00:56:29