今天写了一个ajax的交互,通过获取表单的值,自己组织post的方式提交。

但是却出现了提交的值为空,后来检查后发现,在提交表单的值得处理的时机有些问题。

一开始先是获取了值,然后在单击提交按钮后传值,这样的操作在逻辑上是不对的。

解决方法应该是在单击提交按钮后获取值,然后提交。

 

 
  
  1. $("#submitbutton").click(function(){ 
  2.         var commentval = vchar($("#comment").val()); 
  3.         var idval = $("#itemid").val(); 
  4.         var username = $("#username").val(); 
  5.         var cap = $("#captcha").val(); 
  6.         var sidval = $("#sid").val(); 
  7.     $.post("<{$home}>/akcms_comment.php",{itemid:idval,username:username,comment:commentval,captcha:cap,sid:sidval},function(data){ 
  8.         if(data == "0") { 
  9.                 alert("恭喜,评论发表成功"); 
  10.                 document.location.reload(); 
  11.             } else if(data == "101") { 
  12.                 alert("请先输入验证码"); 
  13.                 cc(); 
  14.                 $("#captcha").focus(); 
  15.             } else if(data == "2") { 
  16.                 alert("请输入评论内容"); 
  17.                 $("#comment").focus(); 
  18.             } else if(data == "102") { 
  19.                 alert("验证码错误,请重新填写"); 
  20.                 cc(); 
  21.                 $("#captcha").focus(); 
  22.             } else { 
  23.                 alert("发生错误,错误码:" + data); 
  24.             } 
  25.         });