Php 表单提交时的Javascript验证

Php 表单提交时的Javascript验证,php,javascript,html,Php,Javascript,Html,嗨,我想在提交表单之前验证字段值这里是我的代码 <table width="600" border="0" align="left"> <tr> <script type="text/javascript"> function previewPrint() { var RegNumber = document.getElementById('PP_RegNoTextBox').value; var PassportNo = document.getEleme

嗨,我想在提交表单之前验证字段值这里是我的代码

<table width="600" border="0" align="left">
<tr>
<script type="text/javascript">
function previewPrint()
{

var RegNumber = document.getElementById('PP_RegNoTextBox').value;
var PassportNo = document.getElementById('PP_PassportNoTextBox').value;
if (RegNumber=="")
{
    alert("Please enter your Reg No.!");
    document.getElementById('RegNoTextBox').focus();
    return false;
}
if (PassportNo=="")
{
    alert("Please enter your Passport No.!");
    document.getElementById('PassportNoTextBox').focus();
    return false;
}
    //window.open('regformview.php?RegNumber=RegNumber');
    }
    </script>
<form name="ppform" onSubmit="return previewPrint();" method="post" action="regformview.php">   
<td width="100" align="LEFT" class="font8">&nbsp; </td>
<td width="337" align="LEFT" class="font8"><u>Preview your Application:</u> Please provide requested details.<br>
  Reg No.: <input type="text" name="printregno" id="PP_RegNoTextBox" class="input2"> Passport No.:  <input type="text" name="printemail" class="input2"><input type="hidden" name="flagging" id="PP_PassportNoTextBox" value="1" class="input2">&nbsp;</td>
<td width="50" align="LEFT" class="font8"><div style="float:left; background-image:url(images/printPreview1.jpg); background-repeat:no-repeat;">   
  <input type="image" src="images/printPreview1.jpg" name="ppbutton" value="" onMouseOver="this.src='images/printPreview2.jpg'" onMouseOut="this.src='images/printPreview1.jpg'"></div></td>

</form>
   </tr>
</table>

函数previewPrint()
{
var RegNumber=document.getElementById('PP_RegNoTextBox')。值;
var PassportNo=document.getElementById('PP_PassportNoTextBox')。值;
如果(RegNumber==“”)
{
提醒(“请输入您的注册号!”;
document.getElementById('RegNoTextBox').focus();
返回false;
}
如果(PassportNo==“”)
{
提醒(“请输入您的护照号码!”;
document.getElementById('PassportNoTextBox').focus();
返回false;
}
//open('regformview.php?RegNumber=RegNumber');
}
预览您的应用程序:请提供所需的详细信息。
注册号:护照号:
问题在于,如果警报框为空,但页面在提交后导航到regformview.php,则会正确显示警报框。如何仅在验证后导航到regformview.php。?

这些未定义:

document.getElementById('RegNoTextBox').focus();
document.getElementById('PassportNoTextBox').focus();
应该是:

document.getElementById('PP_RegNoTextBox').focus();
document.getElementById('PP_PassportNoTextBox').focus();
这些是未定义的:

document.getElementById('RegNoTextBox').focus();
document.getElementById('PassportNoTextBox').focus();
应该是:

document.getElementById('PP_RegNoTextBox').focus();
document.getElementById('PP_PassportNoTextBox').focus();

一切正常,除了脚本中有错误,即使验证失败也允许提交

更改以下行

 document.getElementById('PassportNoTextBox').focus();

as

 document.getElementById('PP_PassportNoTextBox').focus();


一切正常,除了脚本中有错误,即使验证失败也允许提交

更改以下行

 document.getElementById('PassportNoTextBox').focus();

as

 document.getElementById('PP_PassportNoTextBox').focus();


试试这个,应该有用

onSubmit="previewPrint();return false;"

试试这个,应该有用

onSubmit="previewPrint();return false;"

使用该选项,表单将永远不会提交。除非你想要一些非常沮丧的用户(并且没有表单提交),否则我不建议这样做。使用它,表单将永远不会提交。除非你想要一些非常沮丧的用户(并且没有表单提交),否则我不建议这样做。