占位符插件 - 表单提交时未清除值

时间:2014-01-29 23:32:38

标签: jquery jquery-plugins placeholder

除了在表单中提交的占位符值之外,我使用的是一个效果很好的占位符插件。我正在调用函数clearVal()onclick,我觉得应该清除我的所有输入,其值等于占位符的值。因此,这些值不会以表格形式提交。

这是JQuery:

function clearVal() {
var input = $("input[type=text]")
if ($(input).hasClass("placeholder")) {
    input.val("");
}
};
$(function() {
if(typeof document.createElement("input").placeholder == 'undefined') {
    $("[placeholder]").focus(function() {
        var input = $(this);
        if (input.val() == input.attr("placeholder")) {
            input.val("");
            input.removeClass("placeholder");
        }
    }).blur(function() {
        var input = $(this);
        if (input.val() == "" || input.val() == input.attr("placeholder")) {
            input.addClass("placeholder");
            input.val(input.attr("placeholder"));
        }
    }).blur();
}
});

提交按钮:

<button onclick="clearVal()" id="Submit_Form" type="submit" value="">Submit</button>

1 个答案:

答案 0 :(得分:0)

var input是调用hasClassval等函数时的输入数组,它只适用于列表中的第一项。

相反,你应该循环遍历集合中的所有元素。

也可以在按钮上没有点击事件的情况下提交表单。你应该绑定到表单的提交事件

 <script>
  $("form").submit(function(e){
     var emptyInputs = $(this).find("input[type='text'].placeholder");
     emptyInputs.each(function(){
          $(this).val("");
      });
      return true;
 });
 </script>