form提交时,传递额外的参数

在进行表单提交时,会遇到在提交前增加额外参数的情况,对此有如下几种解决方法:

  1. 在表单里使用hidden的input,将参数放到里面。

缺点:在form表单里会增加一些input节点,感觉不爽。

  1. 在提交前使用javascript动态在表单里添加input。

缺点:需要写脚本。

  1. 使用ajax提交拼接参数。

缺点:如果表单里有文件需要上传,就行不通了。

动态增加form和参数:

function formSubmit(elementValue) {
    var turnForm = document.createElement("form");   
    document.body.appendChild(turnForm);
    turnForm.method = 'post';
    turnForm.action = 'vmsservlet';
    turnForm.target = 'mainFrame';

    for (var x in elementValue) {        
    var newElement = document.createElement("input");
        newElement.setAttribute("type","hidden");
        newElement.name = x;
        newElement.value = elementValue[x];        
        //alert(newElement.name);
        turnForm.appendChild(newElement);
     }
    turnForm.submit();
}

你可能感兴趣的:(html5)