如果在使用jquery提交时textarea为空,如何禁用提交按钮

时间:2012-11-29 03:14:55

标签: php javascript jquery html

应该有一种简单的方法来验证这个textarea而不使用插件,试图检查textarea是否为空或具有空值但是我无法使其工作。我有http://jsfiddle.net/creativestudio/f3qQ5/

希望有人可以提供帮助。

这是我的HTML:

<div class="post-container">
    <form class="reply-form">
        <div class="reply-box">
            <textarea placeholder="Reply box 1..." columns="10" rows="1" name="comment-input"></textarea>
            <input type="submit" value="Send">
        </div>
        <div class="post-dropdown"></div>
        <div class="post-dropdown-content">
            <div class="post-dropdown-reply">1</div>
        </div>
    </form>
</div>

<div class="post-container">
    <form class="reply-form">
        <div class="reply-box">
            <textarea placeholder="Reply box 2..." columns="10" rows="1" name="comment-input"></textarea>
            <input type="submit" value="Send">
        </div>
        <div class="post-dropdown"></div>
        <div class="post-dropdown-content">
            <div class="post-dropdown-reply hidden">1</div>
        </div>
    </form>
</div>

        ​

这是我的Js:

function gettingReplyVal() {
    $('.reply-form').submit(function(e) {
        var textAreaValue = $(this).find('textarea').val();
        post = $("<div>").addClass("post-dropdown-reply");
        post.html(textAreaValue);
        $(this).find('.post-dropdown-content').prepend(post);
        e.preventDefault();
        $('textarea').val('');
    });
}

gettingReplyVal();​

4 个答案:

答案 0 :(得分:1)

如果要在空白处禁用提交按钮,可以使用事件键盘();

$('textarea[name=comment-input]').keyup(function(e){
    $(this).parent().find("#submit").attr("disabled", true);
    val = $(this).val().trim();    
    if(val.length > 0){
        $(this).parent().find("#submit").attr("disabled", false);
    }
});

在这里查看演示http://jsfiddle.net/aanred/NpvsF/

答案 1 :(得分:0)

$('.reply-form').submit(function(e) {
  if($(this).find('textarea').val().trim() == '')
    return false;
  //submit code here
}

你可以使用.val(),但我添加了trim()只是为了补偿空格。

答案 2 :(得分:0)

尝试此验证

if($(this).find('textarea').val()=='')
  return false;

答案 3 :(得分:0)

尝试关注jquery脚本:

if($('textarea[name=comment-input]').val().trim()==''){
   $("#submit").attr("disabled", true);  
}

$('textarea[name=comment-input]').keyup(function(){
    $("#submit").attr("disabled", true);
    val = $(this).val().trim();    
    if(val.length > 0){
        $("#submit").attr("disabled", false);
    }
});

它为我工作。我希望它也适合你。