【问题标题】:Check Empty Fields in HTML form and show message box if there is an empty field/s检查 HTML 表单中的空字段并在有空字段时显示消息框
【发布时间】:2012-01-07 06:10:06
【问题描述】:

我正在做一个关于基于网络的系统的项目。我有一个表格,我想检查是否所有字段都已填写,但是当其中一个字段为空时,它将显示提示并且除非表格已完成,否则不会将数据记录到数据库中。如果字段为空,我可以显示提示,但即使其中一个或部分填充为空,它也会记录提供的数据。

这是我的html表单代码:

<script type='text/javascript'>
function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
    alert(helperMsg);
    elem.focus();
    return false;
}
return true;
}

<form action="insert.php" method="post">
FNAME: <input type="text" name="fname" maxlength="50" id="required"/>
MNAME: <input type="text" name="mname" maxlength="50" id="required"/>
LNAME: <input type="text" name="lname" maxlength="50" id="required"/><br/>

Male <input type="radio" name="gender" value="male" /><br/>
Female <input type="radio" name="gender" value="female" /><br/>

College: 
<select name="college">
<option value="default"> --- </option>
<option value="CEC">CEC</option>
<option value="CAD">CAD</option>
<option value="COB">COB</option>
</select>
</br>

<input type="submit" name="formSubmit"    onclick="notEmpty(document.getElementById('required'), 'Please Enter a Value')"
value='SUBMIT'/>
</form> 

我的php代码:

<?php

$con = mysql_connect("localhost","abs","abs");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("testdb", $con);

$sql="INSERT INTO name (fname, mname, lname, gender, college)
VALUES
('$_POST[fname]','$_POST[mname]','$_POST[lname]','$_POST[gender]','$_POST[college]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

echo "1 record added";

mysql_close($con)
?>

我无法让它工作。我是 php 新手。请帮我。非常感谢!!

【问题讨论】:

  • 您应该为每个输入使用唯一的 id 属性。
  • 永远不要将用户提供的数据直接插入到数据库中。
  • 你为什么不用id="required"而不是required="required"
  • @kcire arraveug:为什么您不接受您提出的问题的任何答案?即使你在做“感谢所有人的帮助:)”。如果这对您有帮助,请接受。
  • @Teez 对不起先生。我只是这方面的新手。我不知道有类似的东西。我很抱歉。谢谢你。现在我知道了。 :)

标签: php html webforms


【解决方案1】:

您的代码有问题。您正在传递一个元素的 id 并想要检查所有元素。 所有字段的 ID 也是相同的。

给你推荐一个链接:http://www.javascriptkit.com/script/script2/formrequired.shtml

展示你想要的一个活生生的例子。您可以从这里获取代码并尝试。

【讨论】:

  • 为什么您不接受您提出的问题的任何答案?即使你在做“谢谢大家的帮助:)”
  • 对不起先生。我只是这方面的新手。我不知道有类似的东西。我很抱歉。谢谢你。现在我知道了。 :) 我也试过这个。我如何将其应用于下拉菜单和单选按钮?
【解决方案2】:

您的函数正在返回一个值,但您没有使用它。

onclick="return notEmpty(...

错误的返回值将停止提交。

这就是表单仍然被提交到后端的原因。

此外,id 应该始终是唯一的。使用getElementById 只会返回一个元素,因此您实际上并没有检查所有必填字段。您可以改为分配一个 required 类并遍历元素。

【讨论】:

  • 你应该提到他的函数只会检查一个输入字段,因为有多个字段具有该 ID,因此允许其他字段保持空白(不需要)。
  • @animuson 好的,我会补充的。因为它已经被指出(有点),所以把它排除在外。但我想最好有答案。
猜你喜欢
  • 2016-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 2020-01-22
  • 2013-04-19
相关资源
最近更新 更多