2010-06-25 46 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' 
});