我正在尝试实现一种相当简单的触发机制,用于从tablegrid中删除多个项目。如果用户具有足够的访问权限,则他/她能够从表中删除多个用户。在表格中,我设置了复选框,每行/用户一个。复选框的名称为UsersToDeletep[]
,每行的值为唯一UserID
。
当用户点击“删除所选用户”按钮时,会进行简单验证,以确保至少选中了一个复选框。之后我调用我的简单函数Submit(form)
。在form
- 标签内调用时,该功能可以正常工作,我也用它来删除单个用户。
功能:
function Submit(form)
{
document.forms[form].submit();
}
我也提醒了document.forms[form]
。结果如预期[object HTMLFormElement]
。但由于某种原因,表单不会提交并发生页面重新加载。我有点困惑,似乎无法弄清楚我做错了什么。
根据要求:主叫代码:
onclick="javascript:"
内的代码:
if(CheckMinimumCheckedCheckboxes('FormUserList', 1) == true)
{
if(confirm('Weet u zeker dat u de geselecteerde gebruiker(s) wilt verwijderen?'))
{
Submit('FormUserList');
}
}
else
{
alert('U dient minimaal 1 gebruiker te selecteren welke u wilt verwijderen.');
}
在外部JS文件中分离函数。
function CheckMinimumCheckedCheckboxes(formName, minAmount)
{
var totalChecked = 0;
var totalElements = document.forms[formName].length;
for(i = 0; i < totalElements; i++)
{
if(document.forms[formName][i].checked == true)
{
totalChecked++;
}
}
if(totalChecked >= minAmount)
{
return true;
}
return false;
}
function Submit(form)
{
document.getElementById(form).submit();
}
答案 0 :(得分:1)
尝试使用getElementById()方法:
http://www.w3schools.com/jsref/met_doc_getelementbyid.asp
document.getElementById("frm1").submit();
答案 1 :(得分:0)
永远不要在你的链接中放置一个空的'href =“”',并认为你稍后会在以后决定用onclick-eventhandler来处理link-element时填写它...严重的,它可以为您节省数小时的愚蠢测试。 :/ 强>