2013-02-26 17 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