2010-06-25 50 views
0

这里是我的HTML表单使用jQuery作出AJAX调用和更新元素的形式提交

​​

这里是JavaScript我尝试用它来做到这一点;

$(function() { 
    $("#createurl").click(function() { 
     var urlbox = $(".urlbox").val(); 
     var dataString = 'url=' + urlbox; 

      if (urlbox == '') { 
       alert('Must Enter a URL'); 
      }else{ 
       $("#generated").html('one moment...'); 
       $.ajax({ 
        type: "GET", 
        url: "api-create.php", 
        data: dataString, 
        cache: false, 
        success: function (html) { 
         $("#generated").prepend(html); 
        } 
       }); 
      }return false; 
    }); 
}); 

当我点击提交按钮,没有任何反应,不会出错,而且从API-create.php心不是返回的数据显示。

想法是,该php文件中的新数据将替换#box div中的文本框的值。

我使用谷歌的jQuery和PHP文件作品手工做的GET请求,所以香港专业教育学院将范围缩小到这个

+0

启动Firebug的,做一些控制台日志记录,看看发生了什么。它还会告诉你AJAX请求被击中(或不) – 2010-06-25 06:47:54

回答

1

丹的答案应该解决它。 但是,如果#createurl不是提交/输入按钮,并与CSS等风格的链接,你可以这样做:

$('#createurl').click(function() { 
    $('#createForm').submit(); 
}); 

$('#createForm').submit(function() { 
    // all your function calls upon submit 
}); 
3

因为你绑定到提交点击,而不是表单提交..尝试这个代替:

$('#createForm').submit(function() { 

// your function stuff... 

return false; // don't submit the form 

}); 
1

有很大的jQuery插件称为jQuery Form Plugin。所有你需要做的只是:

$('#createform').ajaxForm(
    target: '#generated' 
});