Javascript 使用jquery进行ajax调用并在表单提交时更新元素

Javascript 使用jquery进行ajax调用并在表单提交时更新元素,javascript,jquery,Javascript,Jquery,这是我的html表单 <div id=create> <form action=index.php method=get id=createform> <input type=text name=urlbox class=urlbox> <input type=submit id=createurl class=button value=go> </form>

这是我的html表单

    <div id=create>
        <form action=index.php method=get id=createform>
        <input type=text name=urlbox class=urlbox>
        <input type=submit id=createurl class=button value=go>
        </form>
    </div>
    <div id=box>
        <input type=text id=generated value="your url will appear here">
    </div>
当我单击submit按钮时,什么也没有发生,没有错误,并且没有显示api-create.php返回的数据

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


我使用的是谷歌的jquery,php文件在手动执行get请求时工作,因此我将其缩小到这个范围,因为您绑定的是提交点击,而不是表单的提交。。请尝试以下方法:

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

// your function stuff...

return false; // don't submit the form

});

因为您要绑定到提交,请单击,而不是表单的提交。。请尝试以下方法:

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

// your function stuff...

return false; // don't submit the form

});

有一个很棒的jQuery插件叫做。你所要做的只是:

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

有一个很棒的jQuery插件叫做。你所要做的只是:

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

丹的回答应该能解决这个问题。 但是,如果#createurl不是提交/输入按钮,而是使用css等样式的链接,则可以执行以下操作:

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

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

丹的回答应该能解决这个问题。 但是,如果#createurl不是提交/输入按钮,而是使用css等样式的链接,则可以执行以下操作:

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

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

启动Firebug并进行一些控制台日志记录以查看发生了什么。它还将向您展示AJAX请求被命中(或未命中)的情况,启动Firebug并进行一些控制台日志记录,以查看发生了什么。它还将向您显示AJAX请求是否被命中