我在一个表单中添加了单选按钮,我添加了onclick函数,这样一旦我点击一个单选按钮,表单就会被提交。
<td>@Html.RadioButtonFor(m => m.SelectedTeacher, Model.ListofTeacher[i].ID, new { @onclick = "javascript: this.form.submit();"})</td>
工作正常,但现在我想在onclick函数中添加第二个命令。
它应该改变表格中的“示例”动作。
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的技能,所以如果我缺乏信息,请问!
干杯。
答案 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
}