我有一个表单,通过
jquery ajax提交给自己.如果出现错误,我想将错误消息“#error”显示从“none”更改为“block”.
<?php
$username = "username";
$password = "password";
if ($_POST['username'] != $username || $_POST['password'] != $password) {
/*need to make change here*/
?>
/* 登录表格*/
/登录后的目标页面/
和提交功能
<script type="text/javascript">
$(function() {
$("#MHLogin").validate({
errorPlacement: function(error,element) {
return true;
},
submitHandler: function(form) {
$("#processing").show();
form.submit();
return false;
},
rules: {
username: {
required: true
},
password: {
required: true
}
}
});
});
</script>
本质上,首先显示登录表单,如果您正确登录它将显示内容.如果你在字段中点击提交,则文本输入会收到错误类 – 该部分有效.但如果您提交空白或不正确的表单,表单就会清除.我尝试在第一部分回应“错误”,如果它不正确,然后使用基于返回值的成功处理程序 – 并改变显示 – 但是当我添加回声“错误”;它只是在页面顶部打印“错误”.
谢谢!
最佳答案 在PHP代码中,设置如下变量:
<?php
$state = 'block';
?>
<html>
<script>
var state = "<?=$state?>";
</script>
</html>
基本上,您将PHP变量输出到您的文件,然后使用全局javascript变量来保存该变量的值.在您的Jquery代码中,您将能够读取此变量.
我在我的框架中使用了更加模块化的版本,我的渲染引擎能够控制要加载的CSS或JS文件.还有一个由我的脚本生成的全局javascript对象,它包含所有全局数据,如基本URL,服务器时区,同步数据等,这些数据将在所有客户端脚本中重用.
希望这可以帮助.
更新:
以下是它的工作原理:
// In your html file
<script>var a = '<?=$state?>';</script> <-- set the global var here
<script src="js/bar.js"></script> <-- include your scripts after the global one
--------------------------------------------------------
// In your bar.js file
alert(a) // should show the contents of $state stored in the global var a