我知道在提交表单时如何验证基本输入(文本)。但是,我遗失了关于在离开网页时如何验证输入(文本)的方法。即使使用JS,由于“表单操作”属性,我无法让它保持在同一页面上。
输入和提交的HTML代码
<form name="form1" action="second.php" **onsubmit="return error()"** method="post">
<input style="" name="hall" type="text"><br>
<input name="Move" style="height: 23px" type="submit" value="Move">
</form>
用于验证的PHP代码
<?php
if (isset($_POST['Move'])) {
if(($_POST['hall']) != "Hallway")
{
echo "Not among available rooms";
}
?>
这也是JS代码
<script type="text/javascript">
function error()
{
var x=document.forms["form1"]["hall"].value
if (x==null || x=="" || x!="next")
{
alert("Wrong entry. Try again!!!");
return false;
}
}
</script>
答案 0 :(得分:0)
如果存在second.php
页面,则以下代码在我的服务器上运行。 (顺便说一下,我在值之后添加了;
,但它似乎没有它。)
您是否在表单后面放了js脚本?也许它会影响。
<html>
<script type="text/javascript">
function error()
{
var x=document.forms["form1"]["hall"].value;
if (x==null || x=="" || x!="next")
{
alert("Wrong entry. Try again!!!");
return false;
}
}
</script>
<body>
<form name="form1" action="second.php" onsubmit="return error()" method="post">
<input style="" name="hall" type="text"><br>
<input name="Move" style="height: 23px" type="submit" value="Move">
</form>
</body>
</html>
答案 1 :(得分:0)
我能想到的其他事情:
- 页面上是否有任何JS错误会阻止此脚本运行?它也可以在我的服务器上运行。
- 您是否有另一个名称相同的HTML元素?
- 我假设**是用于强调代码中的那个区域。如果没有,当然,他们需要被删除。
唯一可能阻止你的“返回false”工作的方法是,如果你有某种JavaScript错误会导致脚本无法运行。
如果您的网页上有其他代码,请发布,我们会看看!