我想用这样的东西删除表单条目。还有其他更好的方法吗?

时间:2014-12-10 15:52:42

标签: javascript jquery

我有一些代码,它正在工作,但我正在寻找一种更好,更清洁的方法来做到这一点。 我想从表单输入中删除输入的文本。

我对表单的每个条目都做了同样的事情,有人可以帮我找到更好的方法吗?

感谢。



// clear text user email
    if($('.user_email').val() === '') {
        $("#clear_user_email").hide();
    }
    $("#clear_user_email .clear_text").click(function(e) {
        e.preventDefault();
        $('.user_email').val('');
        
        if($("#clear_user_email").is(":visible")) {
            $("#clear_user_email").hide();
        }
    });
    $( ".user_email" ).keyup(function(){ 
        $("#clear_user_email").show();
    });
    
    

<div id="user_email_P" class="form-group has-feedback">
  <div class="input-group">
    <span class="input-group-addon">
      <i class="glyphicon glyphicon-envelope red"></i>
    </span>
    <input name="user_email" type="email" class="form-control user_email" placeholder="email@address.com">
  </div>
  <div class="remove_button">
    <div id="clear_user_email">
      <a href="#" class="clear_text">
        <span class="glyphicon glyphicon-remove form-control-feedback" style="top: 1px;"></span>
      </a>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

我可以像Wolff建议的那样做:

&#13;
&#13;
<input type="reset" value="Reset">
&#13;
&#13;
&#13;

但是我的表单上有许多表单输入。 表格用ajax提交

3 个答案:

答案 0 :(得分:0)

创建一个名为“清除”的按钮。点击后,将所有字段设置为''。

答案 1 :(得分:0)

如果我了解您的预期行为,您可以使用清除所有输入:

<input type="reset" value="Reset">

答案 2 :(得分:0)

如果您不想清除所有字段,可以尝试一下......

$(function(){
    $('#myForm input').each(function(){

        //Using your current DOM structure
        var t = $(this);
        var c = $(t).parents(".form-group").find(".clear_text");
        var cp = $(c).parent();

        if($(t).val() === '') {
            $(cp).hide();
        }

        $(c).click(function(e) {
            e.preventDefault();
            $(t).val('');

            if($(cp).is(":visible")){
                $(cp).hide();
            }
        });

        $(t).keyup(function(){ 
            $(cp).show();
        });
    });
});