0

我的 jsfiddle 在这里 - http://jsfiddle.net/rDe9V/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);
    });
});   

要求

a.) 当我点击“新建”时,我应该能够选择相应的表单值,如标题、视图等

b.)现在,它会在每次按键时不断发出警报

我是 jQuery 新手,不太了解

4

1 回答 1

1

看看我的更新

我使用.on()而不是 .live() 和 .click() 因为这适用于页面中的所有未来元素(类似live更好)。另外,我将处理函数添加到submit表单的事件中,因为这是在您单击“新建”按钮时触发的(现在这适用于您体内的所有表单,因此您可能希望缩小该选择器的范围一点点)。

在该处理程序中,您可以获得所需的一切并使用.post()函数将其提交给服务器。我想这就是你想要的。

在下面找到相关的代码。


$(document).ready(function() {
    // activate "New" buttons if input is not empty
    $('form input[type="text"]').live('keyup', function() {
        var val = $.trim(this.value);
        $(this).next("button").prop('disabled', val.length === 0);
    });

    $("body").on("submit","form",function(e){
        // do not submit the form
        e.preventDefault();

        // handle everything yourself
        var $form = $(this);
        var title = $form.closest('.video-detail').find('.title').text();
        var entryTitle = $form.find('.input-small').val();
        console.debug(title);
        console.debug(entryTitle);
        // send the data to the server using .ajax() or .post()
    });
});
于 2012-07-10T21:12:06.180 回答