Javascript 表单提交之前,对DB onchange的AJAX查询
我有一个用户设置/创建表单,其中包括在用户设置过程中请求用户许可证/证书号。但是,在正式提交完整表单之前,我需要验证输入的许可证信息并将其返回给target DIV Onchange。据我所知,AJAX帖子是实现这一点的方法,但我从未使用过AJAX。我在看一个关于学校的例子 但它使用的是单个select设置的值。在我的例子中,我有3个单独的表单字段,这些字段通常经过清理并发送到一个独立的PHP文件中,该文件在提交时需要3个变量,就像正常情况一样 当我需要向接收PHP处理文件传递/提交3个变量时,当最后一个表单字段退出onblur时,是否可以使用POST方法向我演示如何完成w3schools示例发出的AJAX调用 形式 回应目标Javascript 表单提交之前,对DB onchange的AJAX查询,javascript,php,ajax,Javascript,Php,Ajax,我有一个用户设置/创建表单,其中包括在用户设置过程中请求用户许可证/证书号。但是,在正式提交完整表单之前,我需要验证输入的许可证信息并将其返回给target DIV Onchange。据我所知,AJAX帖子是实现这一点的方法,但我从未使用过AJAX。我在看一个关于学校的例子 但它使用的是单个select设置的值。在我的例子中,我有3个单独的表单字段,这些字段通常经过清理并发送到一个独立的PHP文件中,该文件在提交时需要3个变量,就像正常情况一样 当我需要向接收PHP处理文件传递/提交3个变量时,
<div id="datatarget"> </div>
这是我从检查时间的ajax调用中剪切和粘贴的代码。它向服务器发送多个变量 再次编辑,指出这个ajax调用使用jquery,有些人对此表示不满,但我发现它对于ajax调用非常简单和直接
$("#startdate,#starttime,#enddate,#endtime" ).change(function(){
$("#date_error").show(''); //clears the error display
$("#date_error").html('...validating'); //puts a temporary value
var startdate=$("#startdate").val();
var starttime = $("#starttime").val();
var enddate=$("#enddate").val();
var endtime=$("#endtime").val();
startdate = startdate + ' ' + starttime; //combine date and time
enddate = enddate + ' ' + endtime; //combine date and time
$.post("http://www.mysite.net/contest/validate/",
{
startdate:startdate, //sends to server with post collection
enddate:enddate,
id:id
},
function(data,status) {
$("#date_error").html(data);
}); //.post
}); // keyup
在玩了几个小时后,我了解到以下代码是有效的,这是jquery/ajax的组合???无论如何,这是成功的最终结果:
<div>Active license?<input name="sffl" type="checkbox" value="1">Yes | License#
<input name="dig1" type="text" size="5" maxlength="1" placeholder="5">-
<input name="dig2" type="text" size="8" maxlength="2" placeholder="12">-
<input name="dig3" type="text" size="7" maxlength="3" value="XXX" disabled>-
<input name="dig4" type="text" size="7" maxlength="2" value="XX" disabled>-
<input name="dig5" type="text" size="7" maxlength="2" value="XX" disabled>-
<input name="dig6" type="text" size="10" maxlength="5" placeholder="22131">
</div>
test.php包含:
echo $_POST["var1"].'<br>';
echo $_POST["var2"].'<br>';
echo $_POST["var3"].'<br>';
好的,在尝试使用您提供的内容作为我不知道的内容的基础时,我的代码如下所示,将post值分配给$a、$b和$c——post可能工作正常,但我不知道如何将其返回到进行ajax调用的此页面的响应数据。你能告诉我哪里错了,或者我需要做什么不同的事情吗?我需要响应成为datatarget$document.readyfunction{$dig6.blurfunction{var$a=$dig1.val;var$b=$dig2.val;var$c=$dig6.val;$的内部HTML。posthttp://www.mywebsite.com/xyz.php,{var1:$a,//使用后期收集var2:$b,var3:$c},functiondata,status发送到服务器{$datatarget.htmldata;};//.post};};行functiondata,status是返回ajax调用结果的位置。返回的是数据,status是…status。
$(document).ready(function() {
$("#dig6").blur(function(){
$.ajax({
type : 'POST',
url : 'test.php',
data: {
var1 : $('#dig1').val(),
var2 : $('#dig2').val(),
var3 : $('#dig6').val()
},
success:function (data) {
$("#datatarget").append(data);
} }); }); });
echo $_POST["var1"].'<br>';
echo $_POST["var2"].'<br>';
echo $_POST["var3"].'<br>';