1

我有一个像这样的表格:

<form id='Contact' action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post' enctype="multipart/form-data" accept-charset='UTF-8' style='background-color:#7FFF00; width: 781px'>

在那种形式中,我有 15 个字段。前三个“FirstName”、“Title”、“LastName”是表单提交所需的仅有的三个。

该表单具有三个按钮。一种用于删除、创建和修改。

单击创建时,它必须验证三个字段,然后提交表单。单击删除时,只需验证一个特定字段,然后提交。

Javascript:

<script type="text/javascript">
<!--
function validateForm(Form, FieldName)
{
    var Form = document.getElementById(Form);
    var Elements = Form.elements;
    var Field = Elements[FieldName].value;

    if (Field == null || Field == "")
    {
        alert(FieldName + " must be filled out!");
        return false;
    }
    return true;
}

function SubmitForm(Form, DoSubmit)
{
    if (DoSubmit)
    {
        document.getElementById(Form).submit();
    }
}
-->
</script>

我的创建按钮:

<input type='button' name='ContactInfo' value='Create' onClick="SubmitForm('Contact', validateForm('Contact', 'Title') && validateForm('Contact', 'FirstName') && validateForm('Contact', 'LastName'));" />

我的删除按钮:

<input type='submit' name='ContactInfo' value='Delete' />

为什么创建按钮不起作用?它验证必填字段,但不提交/发布:S

4

2 回答 2

1
try the following.


<input type='submit' name='ContactInfo' value='Create' onClick="SubmitForm('Contact', validateForm('Contact', 'Title') && validateForm('Contact', 'FirstName') && validateForm('Contact', 'LastName'));return false;" />

更改要提交的类型并在最后放置一个 return false 。

或将其添加到您的表单元素中:

onsubmit="return validateForm(this);"

并对 Delete 等进行测试。如果 this.value === "Delete" 等...

于 2013-02-25T21:51:53.957 回答
0

document.getElementById(Form)当您的表单 ID 为“联系人”时,您就有了。所以把它改成document.getElementById("Contact").

于 2013-02-25T21:53:50.900 回答