从javascript中访问同名的HTML表单元素

Accessing HTML form elements with same name from javascript

本文关键字:HTML 表单 元素 javascript 访问      更新时间:2023-09-26

我正在使用以下解决方案(如何在ASP中最好地实现保存|保存和关闭|取消表单动作)。. NET MVC 3 RC)的多个提交按钮,允许从我的MVC表单中取消和保存:

<form action="Xxxx" method="post" onsubmit="return validatePost()">
...
<input type="submit" name="actionType" value="Save" />
<input type="submit" name="actionType" value="Cancel" />
</form>

使用javascript调用onsubmit:

function validatePost() {
    if(Blah blah){
        return true;
    }
}

我只想做这个javascript验证,如果'保存'被点击,但不能告诉哪个按钮从javascript点击。

我尝试使用document.forms[0].elements["actionType"].value获得actionType值,但不能,因为表单上有多个名为actionType的项目。

有人能帮忙吗?

谢谢

您可以使用id (http://jsfiddle.net/7p5N5/)

<form method="post">
<input id="save" type="submit" name="actionType" value="Save" />
<input type="submit" name="actionType" value="Cancel" />
</form>
function validate() {
    alert('Validate');
    return false; // cancel click, true will submit
}
$("#save").click(function () {
    return validate();
});

如果您不想使用id,您可以使用$('input[name="actionType"][value="Save"]')选择保存按钮

您是否能够仅监听'Save'输入的onclick事件并让它使用validatePost函数?

那么你可以为'Cancel'的onclick设置一个不同的函数来执行相应的操作