我正在研究一个简单的PHP代码以将数据插入数据库,并且我想显示一个弹出消息,提示输入为空,我尝试使用Java脚本函数,如下所示,但是当我无法使用时单击插入,它仅显示此错误:未定义的索引:fname, 并在数据库中插入空值。
<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;
if (x == "")
{
alert("Name must be filled out");
return false;
}}
</script>
<form name="myForm" action="test.php" method ="post" autocomplete="off">
<div align='center'>
<div id="main">
<br>
<b>ادخل اسمك:</b> <input type="text" name="fname" value=""><br>
</html>
<?php
if(isset($_POST['submit']) && !empty($_POST))
{
$Name = $_POST['fname'];
$SQL = "INSERT INTO userTable (user_name) VALUES ('$Name')";
if ($conn->query($SQL) === TRUE) {
header("Location: test2.php"); /* Redirect browser */
exit();
} else {
echo '<script type="text/javascript">',
'validateForm();',
'</script>';
}
$conn->close();
}
?>
答案 0 :(得分:0)
您在哪里使用validateForm()
函数?我想您可以通过onclick
方法或类似方法在提交按钮中使用它。但是您的return false
无法正常工作,因为表单仍会发送所有数据。您应该在这样的方法中添加返回:
<form name="myForm" onsubmit="return validateForm()" action="test.php" method ="post" autocomplete="off">
因此您的表单将从validateForm函数获取return false
并停止发送表单。