如何检查textarea中的文本输入并相应地按下提交按钮

时间:2015-02-21 17:15:41

标签: javascript jquery html

我正在尝试实现一个按钮和一个包含在div中的textarea 标签

如果我点击按钮,将会发生以下事情

  1. 按钮类型和值属性将更改为'提交'还有一些 其他名称
  2. div封闭的文本区域将出现并在切换中消失 方式。
  3. 以上第1点和第2点已经实施。

    但是我有问题要实现以下几点:

    1. 更改后的提交按钮只会在检测到时提交页面 一些文字已经写在文本区域

    2. 否则,提交按钮将更改为正常按钮 隐藏文本区域。

            =" HTTP://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery
      。       min.js">            你好                                          

      <div style="border: 5px solid #A9A9A9;" id="hidden_area">
      <table>
      <tr bgcolor=#CCCCEE align=center>
      
      <th>Text area</th> 
      </tr>
      <tr>
      <td>
      <textarea name="field" rows=5 cols=40 style="font-size: small"></textarea>
      </td>       
      </tr>
      </table>
      </div>
      

    3. 这是add.js

      $(document).ready(function(){
      
       $("#changeText").click(function(e){
              $(this).attr('type','submit').attr('id', 'enter').val('Enter Text')
              e.preventDefault();
              $("#hidden_area").toggle()
              });
      
      })
      

2 个答案:

答案 0 :(得分:0)

只需要检查按钮所处的状态以及textarea的内容。例如:

$(document).ready(function(){

$("#hidden_area").hide();
 $("#changeText").click(function(e){

     if ($(this).attr('type') == 'button') {
        $(this).attr('type','submit').attr('id', 'enter').val('Enter Text');
        e.preventDefault();
        $("#hidden_area").toggle();
    } else if ($("#hidden_area textarea[name='field']").val().trim() !== '') {
        alert('submitting');
    } else {
        $("#hidden_area").toggle();
        $(this).attr('type','button').attr('changeText', 'enter').val('Click');;
    }
 });

});

请参阅this Fiddle.

答案 1 :(得分:0)

这样的事情可以做到:

$("#changeText").click(function(e){
    $(this).attr('type','submit').attr('id', 'enter').val('Enter Text');

    var txt = $('textarea').val();
    if ( $.trim(txt) != '' ){
        alert('Submit page here');
    }else{
        $(this).attr('type','button').attr('id', 'changeText').val('click');
        $("#hidden_area").toggle()
        e.preventDefault();
    }
});

jsFiddle Demo