我对这个javascipt,jquery世界很陌生,我很难掌握它。
我的HTML中有以下内容
$(document).ready(function(){
$("#frmEnquiry").validate();
});
</script>
虽然我不明白,但是该声明背后发生了什么,特别是当它在每个字段条目上验证时(这很棒)。
我的表单定义和提交按钮中有action =“”我创建了一个进一步验证并发送电子邮件的process.php文件,但我不知道我是如何调用该php文件或我将其放在哪里调用或用于执行此操作的语法。我假设它基于validate()的返回。
使用成功或失败消息从PHP文件返回的正确步骤是什么。
如果有人能够以简单的语法级别提供帮助,我会非常感激,因为我已经看了很多可能的解决方案,我的头脑完全混淆了。
我为可能提出一个非常常见的问题而道歉,但是当你刚刚开始时,很难找到一个你完全理解的例子。
答案 0 :(得分:2)
不要忘记原则:
因此,PHP只会在您呼叫服务器时执行,这意味着,如果您调用URL (http://mydomain.com/MyPHPpage.php)或者您正在呼叫您服务器通过 AJAX请求(看似相同,除了没有重新加载客户端)。
相反, javascript仅被称为客户端。所以用于validate()
表单的代码只在客户端调用(除非你后面有一个特定的函数可以调用服务器)。因此,javascript将使用您给他的参数验证表单而不调用服务器。这是一种非常好的方法,不会使用不需要的请求(空字段,错误的电子邮件地址......)使服务器过载。
无论如何,您仍然可以在服务器端进行一些其他检查(如果用户存在,则检查您的数据库......)并向用户返回另一条消息。
要回答你的问题,我会问其他一些问题:你想要验证什么?你想检查客户端还是服务器端?哪些数据和目的是什么?
答案 1 :(得分:2)
嗯,有两种一般方法:
<form action='process.php'>
,以便将您的请求提交到该页面。浏览器重新加载并显示您在process.php
Ajax-submit:通过这种方式,您将action
留空,使用<form onSubmit = 'return false'>
之类的方式阻止提交,然后使用jQuery的AJAX方法之一发送内容:get,{ {3}}或post 。看起来像这样:
$(document).ready(function(){
if($('form').validate()){
$('form').submit(function{
//Personally I prefer ajax as get and post are just shorthands for this method
$.ajax({
url:'process.php',
dataType:'json',
data:{name:nameVal, value:valueVal}
success: function(){
/*server returned some data, process it as you wish*/
}
});
});
}
});
答案 2 :(得分:0)
您需要对PHP脚本进行AJAX调用。如果您的表单数据有效,您可以进行此类调用。您可以将成功回调设置为ajax请求,您可以在其中处理来自PHP的返回数据,并更新数据,显示错误消息或其他内容。从PHP中,您可以返回一个对象或数组,您可以在其中详细说明是否发生错误以及类型。关于AJAX的更多信息 - &gt; http://api.jquery.com/jQuery.ajax/
答案 3 :(得分:0)
在您的情况下,通过检查每个字段的值来通过javascript执行表单验证是合理的。 无需将数据发送到服务器并接收有关其正确性的信息。这种方法使验证复杂化,并没有改善对不良数据的保护。