2013-05-29 160 views
1

表單不提交使用ajax.form提交上點擊li。給我一些解決方案使用jQuery的表單提交ajax

我的js代碼是在這裏

$(document).ready(function(){ 

$('#sortable li').click(function() { 

$("#frmgallery").submit(function(event) { 
    event.preventDefault(); 
    var formdata = $(this).serialize(); 
    alert(formdata); 
    $.ajax({ 
     type: "POST", 
     url: "gallery.php", 
     data: formdata, 
     success: function(){alert('success');} 
    }); 
}); 

}); 

HTML是這裏

<form method="post" enctype="multipart/form-data" id="frmgallery" name="gallery" action="<?php get_template_directory();?>admin.php?page=gallery/gallery.php"> 

<ul id="sortable"> 

Query 

<li class="ui-state-default" name='liindex' id="<?php echo $row['glryRecordId'];?>" > 
<span style="display:none"><?php echo $row['glryRecordId'];?></span> 
<img class='thumbnail' alt='' src='<?php echo get_site_url();?>/wp-content/themes/townsley/upload/<?php echo $row['glryName']; ?>' width='80' height='60' 
style="border: 1px solid #D3D3D3;padding:2px;"/><input type="hidden" value="<?php echo $row['glryRecordId'];?>" name="recordId[]" /> 
    <a href="<?php get_template_directory();?>admin.php?page=gallery/gallery.php&delid=<?php echo $row['glryRecordId'];?>" style="display:block;text-align:center" title="DELETE this image from the record" class="arial-red">Remove</a> 
</li> 


</ul> 
</form> 

請幫我 感謝

AJAX的jQuery JavaScript的

+0

什麼是'#sortable li'?你需要顯示你的html。 –

+0

注意'功能(事件)',更喜歡使用不保留的名稱,如'function(e)' – TecHunter

+0

請格式化您的HTML,以便更好的可讀性。這也會幫助你自己。此外,清理或刪除多餘的CSS類。我無法想象你的'ul'需要排序(或者選擇更多的「語義」名稱)。從代碼中,你似乎首先必須點擊'ul#sortable',然後再附加'submit'事件處理程序,這是故意的嗎? – nathanvda

回答

2

您應提供HTML也在你的問題中,但據我所知ee,您有eventevent回調中實際上沒有任何事情發起submit事件。所以基本上你應該考慮這樣的事情:

$(document).ready(function(){ 

    $('#sortable li').click(function() { 
     event.preventDefault(); 
     var formdata = $("#frmgallery").serialize(); 
     alert(formdata); 
     $.ajax({ 
      type: "POST", 
      url: "gallery.php", 
      data: formdata, 
      success: function(){alert('success');} 
     }); 
    }); 

}); 
0

您可以使用給ajaxForm/ajaxSubmit的功能從Ajax Form Plugin或jQuery的序列化功能。

實施例:當按下提交按鈕時

$("#frmgallery").ajaxForm({url: 'gallery.php', type: 'post'}) 

$("#frmgallery").ajaxSubmit({url: 'gallery.php', type: 'post'}) 

ajaxForm將發送。 ajaxSubmit立即發送。

+0

我不使用提交按鈕。表單提交時點擊李 –

0

您是否嘗試過在提交函數結束時返回false?

$("#frmgallery").submit(function(e) { 
     e.preventDefault(); 
     var formdata = $(this).serialize(); 
     alert(formdata); 
     $.ajax({ 
      type: "POST", 
      url: "gallery.php", 
      data: formdata, 
      success: function(){alert('success');} 
      error: function(){alert('error');} 
     }); 
     return false; 
    }); 
$('#sortable li').click(function() { 

    $("#frmgallery").submit(); 
}); 

還張貼您的通話$.ajax得到什麼

0
$("#frmgallery").ajaxForm({url: 'gallery.php', type: 'post'}) 

您是否嘗試過在你提交函數結束返回false?

$("#frmgallery").submit(function(e) { 
     e.preventDefault(); 
     var formdata = $(this).serialize(); 
     alert(formdata); 
     $.ajax({ 
      type: "POST", 
      url: "gallery.php", 
      data: formdata, 
      success: function(){alert('success');} 
      error: function(){alert('error');} 
     }); 
     return false; 
    }); 
$('#sortable li').click(function() { 

    $("#frmgallery").submit(); 
});