Javascript 在包含多个表单的页面中验证JS中的表单元素

Javascript 在包含多个表单的页面中验证JS中的表单元素,javascript,html,Javascript,Html,JS正确打印传入的表单名称,但在验证表单元素时,我会收到下面的错误消息。表单名称在循环中动态生成 谢谢 错误 TypeError: document.form_name is undefined JS function validate_update(form_id) { var form_name = 'form_bottom_update_' + form_id; //alert (form_name); //Prints form name correctly as f

JS正确打印传入的表单名称,但在验证表单元素时,我会收到下面的错误消息。表单名称在循环中动态生成

谢谢

错误

TypeError: document.form_name is undefined
JS

function validate_update(form_id)
{
    var form_name = 'form_bottom_update_' + form_id;
    //alert (form_name);  //Prints form name correctly as form_1, form_2, form_3

    var bg_name = (document.form_name.bg_name.value).replace(/ /gi, "");

    if (bg_name == '')
    {
        alert('Enter a Name');
        return false;
    }

    return true;
}
HTML

<form name="form_1" action="update.php" method="POST" onsubmit="return validate_update(1);">
   <input type="text" name="bg_name" value="" />
   <input type="submit" name="submit" value="Update" />
</form>

<form name="form_2" action="update.php" method="POST" onsubmit="return validate_update(2);">
   <input type="text" name="bg_name" value="" />
   <input type="submit" name="submit" value="Update" />
</form>

<form name="form_3" action="update.php" method="POST" onsubmit="return validate_update(3);">
   <input type="text" name="bg_name" value="" />
   <input type="submit" name="submit" value="Update" />
</form>

不应该:

var bg_name = (document.form_name.bg_name.value).replace(/ /gi, "");
是:

您可以打印
form\u name
变量,但稍后您可以使用另一个对象
document.form\u name
。 使用后面的,或者在分配
bg\u名称时,使用
文档

document.form_name = 'form_bottom_update_' + form_id;

您在html中的任何地方都没有使用form_id,因此如何在javascript中调用它来解决此问题。表单名称保持不变,文本名称变为动态

function validate_update(form_id)
{
    var element_name = 'bg_name_' + form_id;

    var bg_name = (document.getElementsByName(element_name)[0].value).replace(/ /gi, "");

    if (bg_name == '')
    {
        alert('Enter a Name');
        return false;
    }

    return true;
}

<form name="form" action="update.php" method="POST" onsubmit="return validate_update(2);">
   <input type="text" name="bg_name_2" value="" />
   <input type="submit" name="submit" value="Update" />
</form>
函数验证更新(表单id)
{
变量元素名称='bg\U名称\'+表单id;
var bg_name=(document.getElementsByName(element_name)[0].value).replace(//gi,“”);
如果(bg_name=='')
{
警报(“输入名称”);
返回false;
}
返回true;
}

get
Error:TypeError:form\u name.bg\u name未定义
var bg\u name=(form\u name.bg\u name.value)的
for
获取
错误:类型错误:document.form\u name.bg\u name未定义
document.form\u name='form\u bottom\u update\u'+form\u idonsubmit=“return validate_update(3);”
和JS
函数validate_update(form_id)
function validate_update(form_id)
{
    var element_name = 'bg_name_' + form_id;

    var bg_name = (document.getElementsByName(element_name)[0].value).replace(/ /gi, "");

    if (bg_name == '')
    {
        alert('Enter a Name');
        return false;
    }

    return true;
}

<form name="form" action="update.php" method="POST" onsubmit="return validate_update(2);">
   <input type="text" name="bg_name_2" value="" />
   <input type="submit" name="submit" value="Update" />
</form>