onclick函数中有一个以上的命令

时间:2016-04-12 11:29:29

标签: javascript asp.net

我在一个表单中添加了单选按钮,我添加了onclick函数,这样一旦我点击一个单选按钮,表单就会被提交。

<td>@Html.RadioButtonFor(m => m.SelectedTeacher, Model.ListofTeacher[i].ID, new { @onclick = "javascript: this.form.submit();"})</td>

工作正常,但现在我想在onc​​lick函数中添加第二个命令。

它应该改变表格中的“示例”动作。

using (Html.BeginForm("Example", "Home", new { id = "form" })){}

所以我试过这个

<td>@Html.RadioButtonFor(m => m.SelectedTeacher, Model.ListofTeacher[i].ID, new { @onclick = "document.getElementById('form').action = 'Delete';
    this.form.submit();" })</td>

但这不起作用。

有人可以向我解释我是如何正确地做到的吗?

我没有js的技能,所以如果我缺乏信息,请问!

干杯。

1 个答案:

答案 0 :(得分:1)

使用onclick,您只能通过操作注册一个事件。

如果要注册多个事件,则需要使用addEventListener,这是注册W3C DOM中指定的事件监听器的方法。

var radios = document.getElementsByName('SelectedDevice');
for (i = 0; i < radios.length; i++) {
    radios[i].addEventListener('click', onRadioButtonClick);
    radios[i].addEventListener('click', onRadioButtonClick2);
}

function onRadioButtonClick() {
    document.getElementById('form').action = 'Delete';
    this.form.submit();
}

您还可以使用一个事件侦听器来执行所有操作,而不是挂钩多个事件。

在HTML中:

<td>@Html.RadioButtonFor(m => m.SelectedDevice, Model.ListofDevice[i].ID, new { @onclick = "onRadioButtonClicked" })</td>

在JavaScript中:

function onRadioButtonClick() {
    document.getElementById('form').action = 'Delete';
    this.form.submit();

    // Your other operations here
}