如何验证与java脚本的php表单,那是在我的网站的每一页
How to validate a php form with java script, that is on everypage of my site
我遇到的问题是我试图让contact.php验证联系人表单,现在在我的网站的每个页面的底部。它工作得很好,只是验证一个页面,并有一个硬URL带他们回去。麻烦的代码是:
/* In case of no valid input go back */
if ($p1==""||$p2==""||$p3==""||$p5==""||$n0!=0||$f0<7||$NL==0||$p7=="") {
header($_SERVER['HTTP_REFERER'].$report);
}else{$report='noerror';}
我也试过这个:
/* In case of no valid input go back */
if ($p1==""||$p2==""||$p3==""||$p5==""||$n0!=0||$f0<7||$NL==0||$p7=="") {
header($_SERVER['PHP_SELF'].$report);
}else{$report='noerror';}
这是一个页面的原始代码:
/* In case of no valid input go back */
if ($p1==""||$p2==""||$p3==""||$p5==""||$n0!=0||$f0<7||$NL==0||$p7=="") {
header('Location:estimate_page.php?'.$report);
}else{$report='noerror';}
我可以为每个页脚有表单的页面创建一个新的"contact.php"页面,但如果我能让这个工作就太愚蠢了。任何想法
使用javascript/jQuery的思路是正确的——它将允许您在提交/更改页面之前捕获无效字段。更好的用户体验。只有当字段被验证时才提交。
这里有一个关于如何使用jQuery进行简单字段验证测试的链接:
jsFiddle演示
HTML:One: <input type="text" id="f1"><br />
Two: <input type="text" id="f2"><br />
Three: <input type="text" id="f3"><br />
Four: <input type="text" id="f4"><br />
<br />
<input type="button" id="mybutt" value="Go" />
javascript/jQuery: var chkFld, arrAll = {'One':'f1','Two':'f2','Three':'f3','Four':'f4'};
$('#mybutt').click(function() {
var errMsg='', badFlds='', firstBad='';
for(var key in arrAll){
chkFld = '#'+arrAll[key];
$(chkFld).removeClass('error');
if ($(chkFld).val() ==''){
$(chkFld).addClass('error');
//alert('Please complete field ' + arrAll[key] );
errMsg += '*' + key + ''n';
if (firstBad=='') firstBad=chkFld;
}
}
if (errMsg != '') {
alert(errMsg);
$(firstBad).focus();
}
}); //END mybutt.click
注意上面的例子使用了jQuery,所以你必须引用jQ库(通常在头部标签中,像这样:)
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
编辑:
完整的HTML如下:
<?php
//Any initial PHP code goes here
?>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
//javascript
var chkFld, arrAll = {'One':'f1','Two':'f2','Three':'f3','Four':'f4'};
$(document).ready(function() {
$('#mybutt').click(function() {
var errMsg='', badFlds='', firstBad='';
for(var key in arrAll){
chkFld = '#'+arrAll[key];
$(chkFld).removeClass('error');
if ($(chkFld).val() ==''){
$(chkFld).addClass('error');
//alert('Please complete field ' + arrAll[key] );
errMsg += '*' + key + ''n';
if (firstBad=='') firstBad=chkFld;
}
}
if (errMsg != '') {
alert(errMsg);
$(firstBad).focus();
return false;
}
//If it gets to here, it passed validation
$('#yourForm').submit();
}); //END mybutt.click()
}); //END $(document).ready()
</script>
</head>
<body>
<form id="yourForm">
One: <input type="text" id="f1" /><br />
Two: <input type="text" id="f2" /><br />
Three: <input type="text" id="f3" /><br />
Four: <input type="text" id="f4" /><br />
</form>
<input type="button" id="mybutt" value="Click Me">
</body>
</html>
注意,在使用上述场景时,在表单提交之前,没有PHP代码执行,使用手动$('#yourForm').submit();
语句。
相关文章:
- 我希望只有在我滚动页面后才能显示我的返回页首图标
- 如何为我的分页添加格式
- 简单的一页水平滚动
- Shopify-加载'集合/全部'在我的首页
- 为什么我的 cshtml 页面的 javascript 没有在浏览器中更新/刷新
- 我在一页上有两个简单的javascript幻灯片,但第二个停止了第一个工作
- 单页应用程序是否只是用于整个 Web 应用程序的一页
- 想要上传和解析 json 文本,并通过使用 ajax 单击按钮将其加载到我的索引页
- 使用 form.action 时,我的 aspx 页中的更新面板不起作用
- 访问允许在我的两页之间建立组织
- 如何使用浏览器历史记录状态在我的单页 JavaScript 应用程序中加载 URL
- 如何为我的整页视频制作播放按钮
- 当页面上不再有可折叠的页眉时,我可以让我的固定页眉滚动吗
- 护照JWT要求.在我的一条路由中没有定义用户
- 更改我的网站页面的url
- 我没有得到警报javascript在我的控制器页面上
- 如何使我的选择框溢出在我的固定页脚,如果浏览器调整大小
- 如何溢出我的固定页脚与我的下拉列表
- 如何在表单提交后刷新我的索引页
- 什么'这是停止搜索引擎的最佳方法;s正在为我的登录页编制索引