开发者

using jquery to make ajax call and update element on form submit

Here is my html form

    <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>

Here is the javascript im trying to use to accomplish this;

$(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;
    });
});

when i click the submit button, nothing happens, no errors, and the return data from api-create.php isnt shown.

the idea is that the new data from that php file will replace the value of the textbox in the #box div.

i am using google's jquery, and the php file works when manually doi开发者_如何学运维ng the get request, so ive narrowed it down to this


Because you're binding to the submit click instead of the form's submit.. try this instead:

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

// your function stuff...

return false; // don't submit the form

});


Dan's answer should fix it. However, if #createurl is not a submit/input button, and is a link styled with css etc., you can do this:

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

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


There is great jQuery plugin called jQuery Form Plugin. All you have to do is just:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜