1. 程式人生 > >form提交時,傳遞額外的引數

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();
}