2013-07-15 46 views
0

作品我有一個AJAX提交的表單使用以下AJAX保存按鈕,但沒有圖像

$('#savelink').click(function(){ 
$("#overlay_form").fadeOut(500); 
$.ajax({ 
    url: 'linktextadd.php', 
    type: 'GET', 
    data: "content="+$("input[id=linktext]").val(), 
    dataType:"json", 
    success: function(data){ 
     location.reload(); 
    }, 
    error: function(jqXHR, textStatus, errorThrown){ 
     alert(jqXHR+" || " + textStatus+" || " +errorThrown) 
    } 
    }); 

})

如果我使用一個標準按鈕

<input id='savelink' type="button" value="Save" /> 

它工作正常但如果我嘗試漂亮的東西與圖像

<input id='savelink' type="image" src="images/large-save.png" alt="Save" value="Save" title="Save" /> 

它拋出一個錯誤(textstatus)「錯誤」 - 有用的:P

看起來它甚至沒有獲得到PHP頁面作爲郵件()標誌有沒有被觸發

如果我將相同輸入代碼的類型更改爲按鈕,它將再次起作用

<input id='savelink' type="button" src="images/large-save.png" alt="Save" value="Save" title="Save" /> 

但當然我失去了漂亮。

想法?

[解決方法]只是爲了說清楚,這裏是解決方案

$('#savelink').click(function(e){ 
    e.preventDefault; 
    $("#overlay_form").fadeOut(500); 

回答

2

當你設置的輸入image的類型,按鈕則充當submit按鈕。這意味着您需要抑制一個提交事件。

$('#savelink').click(function(evnt){ 
    evnt.preventDefault(); 
    ... 
+0

唉唉......冷靜。謝謝。不能再接受10分鐘 – Steve

+0

再次感謝,只是做.click(e)工作正常。但通過你的答案,然後更新我已經學到了一些東西 - 這總是很好 – Steve

0

你可以使用一個<button>

<button id="savelink"><img src="images/large-save.png" alt="Save"></button> 
+2

他會有完全相同的問題,按鈕還帶有提交事件,這是問題... – marteljn