2013-02-26 30 views
0

我想設置一個隱藏字段的值,然後用js提交表單。javascript:設置字段值並提交表格

這裏是我的JS:

<script type="text/javascript"> 
<!-- 
function doSubmit(formid,fieldid,action) { 
    var frm=getElementbyId(formid); 
    var fld=getElementbyId(fieldid); 
    fld.value = action;  
    frm.submit(); 
} 
//--> 
</script> 

這裏是我的HTML:

<form name="mainform" id="mainform" method="post"> 
    <a href="#" onclick="doSubmit('mainform','dothis','send')">send</a> 
    <input name="dothis" id="dothis" type="hidden" value="nothing" /> 
</form> 

結果:沒有任何反應。

當我做<a href="#" onclick="document.mainform.submit()"> ...提交表單(但是,當然,在dothis值未設置。

如何做到這一點?

+0

是什麼???的getElementById它是你的自定義功能嗎?如果不是應該document.getElementById(formid) – ZKK 2013-02-26 12:29:32

+0

@ ZKK:改變它,仍然沒有任何反應... – michi 2013-02-26 12:32:02

+0

試試我的解決方案。將href更改爲href =「javascript:void(0)」。我認爲你的表單沒有提交。它只會將您發送到鏈接。 – ZKK 2013-02-26 12:35:25

回答

1

什麼的getElementById ???這是你的自定義函數? ?此外,我認爲你的表單沒有提交它只是調用HREF =「#」,這是相同的鏈接 href值設置爲

href="javascript:void(0);" 
+0

明白了,謝謝!順便說一句,'href =「#」'不會導致問題。 – michi 2013-02-26 12:37:02

+0

請標記我的答案也是正確的。感謝 – ZKK 2013-02-26 12:38:54

+0

只要它讓我:-) – michi 2013-02-26 12:41:52

0

更改您的js函數: - 。

<script type="text/javascript"> 
<!-- 
    function doSubmit(formid, fieldid, action) { 
     var frm = document.getElementById(formid); 
     var fld = document.getElementById(fieldid); 
     fld.value = action; 
     frm.submit(); 
    } 
    //--> 
</script> 
0

你必須使用

document.getElementById 

getElementbyId (missing capital B) 
+0

正確,謝謝,初學者的錯誤。 – michi 2013-02-26 12:38:30