2012-07-10 31 views
1

我這裏有一個的jsfiddle:http://jsfiddle.net/rDe9V/jQuery:如何使ajax調用後端,而不是按鈕單擊提交表單?

重現步驟:

  1. 輸入文本
  2. 點擊 「添加到播放列表」,並在文本框中添加一些文字
  3. 單擊 「新建」

警告框似乎不起作用。有關jQuery的功能在這裏

$(function() { 
    $('form input[type="text"]').live('keyup', function() { 
     var val = $.trim(this.value); 
     $('form .create-playlist-button').prop('disabled', val.length == 0) 
    }); 
    $('form .create-playlist-button').click(function(e) { 
     var title = $(e.target).closest('.video-detail').find('.title').text(); 
     alert(title); 
    }); 
}); 

請理解爲什麼這是行不通的幫助。


UPDATE

因此不會允許讓更多的6問題/天。所以我現在在這裏更新

我做了擺弄的變化,它在這裏 - http://jsfiddle.net/rDe9V/2/

$('form input[type="text"]').live('keyup', function() { 
     var val = $.trim(this.value); 
     $('form .create-playlist-button').prop('disabled', val.length == 0).click(function(e){ 
      var title = $(e.target).closest('.video-detail').find('.title').text(); 
      alert(title); 
     }); 
    }); 

所需

  • 在按一下按鈕,不應該張貼形式

+0

控制檯中有很多錯誤。 – Utkanos 2012-07-10 18:45:46

回答

1

「新」bu tton正在提交一份表格。

您必須殺死提交該表單的事件,否則將提交該表單並且您的頁面將自行刷新,發佈(或獲取)表單數據。

+0

感謝提到,請參閱更新,關於我的要求是什麼,可能你對如何實現這一點有一個公平的想法,請諮詢 – daydreamer 2012-07-10 18:50:00

+0

@daydreamer提出一個新問題。 SO是**不是**調試服務。你不能只用新的問題來更新你的問題。 – Neal 2012-07-10 18:51:32

+0

好的@Neal,會做到的 – daydreamer 2012-07-10 18:52:06

0

您的點擊事件沒有註冊,您應該將您的按鈕定義爲按鈕而不是提交。

var clickAdded = false; 

// creating new playlist 
$(function() { 
     $('form input[type="text"]').live('keyup', function() { 
      var val = $.trim(this.value); 
      $('form .create-playlist-button').prop('disabled', val.length == 0); 
      if (val.length > 0 && !clickAdded) { 
       $('form .create-playlist-button').click(function(e){ 
        var title = $(e.target).closest('.video-detail').find('.title').text(); 
        alert(title); return false; 
       }); 
       clickAdded = true; 
      } 

     });}); 
相關問題