Javascript:在实际表单之外提交表单不会';行不通
我试图实现一种相当简单的触发机制,用于从tablegrid中删除多个项。如果一个用户有足够的访问权限,他/她可以从表中删除多个用户。在表中,我设置了复选框,每行/用户一个。复选框的名称是Javascript:在实际表单之外提交表单不会';行不通,javascript,Javascript,我试图实现一种相当简单的触发机制,用于从tablegrid中删除多个项。如果一个用户有足够的访问权限,他/她可以从表中删除多个用户。在表中,我设置了复选框,每行/用户一个。复选框的名称是UsersToDeletep[],每行的值是唯一的UserID 当用户单击“删除选定用户”按钮时,将进行简单验证,以确保至少选中一个复选框。之后,我调用我的简单函数Submit(form)。当在表单-标记中调用该函数时,该函数工作得非常好,我还使用它来删除单个用户 职能: function Submit(form
UsersToDeletep[]
,每行的值是唯一的UserID
当用户单击“删除选定用户”按钮时,将进行简单验证,以确保至少选中一个复选框。之后,我调用我的简单函数Submit(form)
。当在表单
-标记中调用该函数时,该函数工作得非常好,我还使用它来删除单个用户
职能:
function Submit(form)
{
document.forms[form].submit();
}
我还提醒了document.forms[form]
。结果是,正如预期的那样[object HTMLFormElement]
。但由于某些原因,表单无法提交,页面重新加载也会发生。我有点困惑,似乎不知道我做错了什么
更新
按要求:呼叫代码:
放置在onclick=“javascript:
中的代码:
外部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();
}
function checkminimumchecked复选框(formName,minAmount)
{
var totalChecked=0;
var totalElements=document.forms[formName].length;
对于(i=0;i=minAmount)
{
返回true;
}
返回false;
}
功能提交(表格)
{
document.getElementById(form.submit();
}
尝试使用getElementById()方法:
永远,永远,永远不要在链接中放置一个空的'href=“”,并认为稍后您将填充它,而稍后您决定通过onclick eventhandler处理链接元素。。。说真的,它可以帮你省下几个小时愚蠢的测试/请发布调用上述函数的代码。谢谢您的回答。但它没有在工作解决方案中解析。您需要向表单标记添加ID属性。然后在getElementById()方法中调用该名称。文档.getElementById(form.submit();除非您有一个名为form的var,否则将无法工作。如果将表单命名为“表单”,则需要在getElementById()方法中将其作为字符串文档引用。getElementById(“表单”).submit();看起来您将其作为标量变量引用。我将其传递到函数中(从页面调用)。然后在外部js文件中,functionparameter被传递到getElementById(parameterName)中。当然,我已经在表单中添加了一个ID属性;)但是,它不起作用。您也可以尝试使用jQuery使您的生活更轻松一些。您可以使用.each()方法对表单进行迭代:$(“表单”).each(…);并在每个引用上调用.submit()方法。感谢您在回复后提供了完整的帮助提示+谢谢你的回答和评论。谢谢你的努力!
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();
}
document.getElementById("frm1").submit();