我是JavaScript的新手,我遇到了以下问题。
我有这样的表格:
<form id="actionButton" action="salwf.do?serv=1" method="post">
<button id="accept" name="ctrl" value="Accept" type="submit" class="acceptButton" onclick="sottometti(this)">ACCEPT ICON BUTTON</button>
<button id="cancel" name="ctrl" value="Cancel" type="submit" class="cancelButton" onclick="sottometti(this)">CANCEL ICON BUTTON</button>
<button id="sap" name="ctrl" value="SAP" type="submit" class="sapButton" onclick="sottometti(this)">SAP ICON BUTTON</button>
<input id="testId" name="test" type="hidden">
</form>
如您所见,此表单包含3个不同的按钮。单击其中一个按钮,将执行 sottometti(this) Javascript脚本,其中包含以下代码:
function sottometti(obj){
//document.getElementById('testId').value = obj.value;
document.getElementById('testId').value = obj.value[id]
document.getElementById('actionButton').submit()
}
此脚本应提交上一个表单(单击按钮的ID)但不起作用。为什么呢?
我认为它正在尝试检索我的表单代码中不存在的 actionButton 。
你能帮助我让它发挥作用吗?
答案 0 :(得分:1)
将obj.value[id]
替换为obj.id
。
答案 1 :(得分:0)
尝试这个替代方案:
<form id="actionButton" action="salwf.do?serv=1" method="post">
<button name="ctrl" value="accept" type="submit" class="acceptButton">ACCEPT ICON BUTTON</button>
<button name="ctrl" value="cancel" type="submit" class="cancelButton">CANCEL ICON BUTTON</button>
<button name="ctrl" value="sap" type="submit" class="sapButton">SAP ICON BUTTON</button>
</form>
我基本上已经删除了所有JavaScript和隐藏的输入。
现在,在服务器端,只需输出ctrl
POST变量的值来测试它。
您应该根据用户点击的按钮清楚地看到accept
,cancel
或sap
。不需要JavaScript,它是内置的默认功能:)