0

我有一个使用以下内容提交的 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 页面,因为其中的 mail() 标志没有被触发

如果我将相同输入代码的类型更改为按钮,它会再次起作用

<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);
4

2 回答 2

2

当您将输入的类型设置为 时image,该按钮将充当submit按钮。这意味着您需要禁止提交事件。

$('#savelink').click(function(evnt){
   evnt.preventDefault();
   ...
于 2013-07-15T23:34:46.593 回答
0

你可以使用一个<button>

<button id="savelink"><img src="images/large-save.png" alt="Save"></button>
于 2013-07-15T23:36:09.943 回答