<form>
  <input type='text' id='text'></input>
  <input type='submit' onclick='return check()'>next</input>
</form>
<script>
function check(){
  var text = $('#text').val()
  var url = 'test.php?text='+text;
  $.get(url,function(result){
     if(result){
       alert(resutl);
     }
     else return false;
  })
}
</script>
直接在浏览器地址栏写test.php?text=能返回值的,不知道哪里出错了,form改成div也可以的

解决方案 »

  1.   

    两处地方
    1
    <input type='button' onclick='return check()' value="next" /> 2
    if(result){
           alert(result);
         }
      

  2.   

    function check(){
      var text = $('#text').val()
      var url = 'test.php?text='+text;
      $.get(url,function(result){
         if(result){
           alert(result);
         }
      })
      return false;
    }submit把表单提交了,那个return false;都没有什么用,把它提到外面那个function。或者像#1那样,把type改成button。
      

  3.   

    改成button这个表单就不提交了,给我把form改成div一样了。我这个好像是表单先提交了,我要的是先验证再提交表单。以前写注册页面的时候可以的啊 囧
      

  4.   

    哦,明白了,ajax异步的原因吧 囧
      

  5.   


    改成同步的试下。function check(){
      var text = $('#text').val()
      var url = 'test.php?text='+text;
      var returnValue = false;
      $.ajax({
    type:'GET',
    url:url,
    async:true,
    success:function(result){
         returnValue = result;
      }
    });
    return !!returnValue;
    }
      

  6.   

    哦知道了。async:false;好像可以了
      

  7.   

    但是好像阻止不了表单提交?囧
    $.ajax({
    type: 'GET',
    async: false,
    url: url,
    success: function(result) {
    returnData = result;
    }
    });
    if(returnData) {
    alert(returnData);
    }
    else {
    alert(returnData);
    return false;
    }
      

  8.   

    returnData是什么?true/false??返回的内容是string的,"false"这个条算真,要转为boolean才行
            $.ajax({
                type: 'GET',
                async: false,
                url: url,
                success: function (result) {
                     returnData = result=="true";////////////
                }
            });
            if (returnData) {
                alert(returnData);
            }
            else {
                alert(returnData);
                return false;
            }
      

  9.   

    原来如此,以前都用 == ‘true'的 囧