【发布时间】:2013-02-11 04:36:59
【问题描述】:
我有这样的表格:
<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
【问题讨论】:
-
你试过调试你的代码吗?
-
是的。它清除了表格和所有内容。它只是不发布。如果我将按钮类型更改为提交类型,那么它将发布并且我将无法将数据保留在表单中。我需要它,以便如果它验证然后它可以发布。如果验证失败,它应该什么都不做。
-
您是否尝试过将类型从“按钮”更改为“提交”?您希望它提交表单,但您没有将其指定为提交按钮..
-
为了便于阅读,您最好创建一个执行验证的创建函数,然后在表单验证时调用提交表单。我猜你试图在 onClick 属性中做太多事情。
标签: javascript html validation