1

所以基本上我想要的是禁用提交按钮,直到文本区域中达到某个字数。

我环顾四周并试图找到方法来做到这一点,但没有运气。

任何提示或帮助?

<form method="post" id="writearticle" action="submitarticle.php">      
  <script>
    $('#writearticle').submit(function(event) {
        var text = $("#content").val();
        text = text.split(" ");
        // check for at least 10 words
        if(text.length < 10){
            console.log("prevented");
            // prevent submit
            event.preventDefault();
            return false;
        }
        console.log("submitted");
    });
  </script>

  <textarea rows="30" cols="85" id="content" name="content" placeholder="Write the article here. Try to abide by the instructions and keywords provided."></textarea>
  <br />    
  <input type="submit" name="submitarticle" value="Submit Article" class="submit" />    
  <br /><br /><br /><br /><br />
</form>
4

6 回答 6

1

向我们展示您的代码。
1)onclick为提交按钮设置事件
2)检查 textarea 中的长度
3)return false以及preventDefault()是否没有足够的单词。

于 2012-09-21T09:38:41.953 回答
0

您捕获提交事件,计算文本区域中的单词,并且仅在足够高时才提交。例子:

$('#targetForm').submit(function(event) {
    var text = $("#myTextarea").val();
    text = text.split(" ");
    // check for at least 10 words
    if(text.length < 10){
        // prevent submit
        event.preventDefault();
        return false;
    }
});

演示

于 2012-09-21T09:42:11.010 回答
0

您可以检查事件中的单词/字符数keyup

于 2012-09-21T09:39:33.147 回答
0

在http://elylucas.net/post/Enabling-a-submit-button-when-a-textbox-has-value-in-jQuery.aspx看到这个例子

不是检查值,而是拆分文本框中的输入字符串,然后看到数组的长度超过了您想要的字数

于 2012-09-21T09:39:47.343 回答
0

使用textchange(非内置)事件通过键盘、粘贴等准确检测文本更改 - http://www.zurb.com/playground/jquery-text-change-custom-event

$('textarea').bind('textchange', function () {
   // $(this).val() contains the new text
});

在您的文本更改事件中,检查文本中单词的长度/计数,并根据需要启用禁用提交按钮(确保其最初禁用)。

于 2012-09-21T09:44:39.183 回答
0

试试下面的代码行,

$(document).ready(function() {
    $(".submit-name").attr("disabled", "true");
    var minLength = 100;
    $("#your-text-area").bind('keyup', function(event) {
        var String = $("#your-text-area").val()

           if (String.length >= minLength )  {  
                $(".submit-name").removeAttr("disabled");
            } else {
                $(".submit-name").attr("disabled", "true");        
            }

});



});
于 2012-09-21T09:43:43.743 回答