Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取具有Onchange属性的表单中的所有值_Javascript_Html_Ajax - Fatal编程技术网

Javascript 如何获取具有Onchange属性的表单中的所有值

Javascript 如何获取具有Onchange属性的表单中的所有值,javascript,html,ajax,Javascript,Html,Ajax,当用户在droplist中选择一个选项时,我试图获取表单中的所有值。我正在使用Onchange属性,但我不知道如何通过该属性将所有值发送到submitForm <input type="hidden" name="var1" value="..." /> <input type="hidden" name="var2" value="..." /> <input type="hidden" name="var3" value="..." /> <sel

当用户在droplist中选择一个选项时,我试图获取表单中的所有值。我正在使用Onchange属性,但我不知道如何通过该属性将所有值发送到submitForm

<input type="hidden" name="var1" value="..." />
<input type="hidden" name="var2" value="..." />
<input type="hidden" name="var3" value="..." />

<select name="var4" onchange="submitForm([var1 var2 var3 var4]);return false">
<option value="1">Choice 1</option>
<option value="2">Choice 2</option>

</select>       

谢谢

因为您的js方法中没有使用jQuery,所以我假设您没有真正使用jQuery

那么

<select name="var4" onchange="submitForm();">

这真的没关系。当表单的submit事件被触发时,无论是通过单击submit按钮还是通过其他方式触发submit操作,所有元素都会被提交。thx它可以工作。只是,对于后面的人,您忘记了OAjax.send中var2和var3之后的char+。然后一切都很好。谢谢
<select name="var4" onchange="submitForm();">
function submitForm() {
    //get the input elements by name and then read its value
    var OAjax, var1 = document.getElementsByName('var1')[0].value,
        var2 = document.getElementsByName('var2')[0].value,
        var3 = document.getElementsByName('var3')[0].value,
        var4 = document.getElementsByName('var4')[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 '&var4=' + var4);
}