从javascript访问具有相同名称的HTML表单元素

时间:2013-03-27 16:21:31

标签: javascript forms asp.net-mvc-4

我使用以下多个提交按钮的解决方案(How to best implement Save | Save and Close | Cancel form actions in 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的项目。

有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:1)

您可以使用idhttp://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"]')选择保存按钮

答案 1 :(得分:0)

您是否能够只收听“保存”输入的onclick事件并让它使用您的validatePost函数。

然后,您可以使用不同的功能点击“取消”以执行适当的操作。