2017-06-12 43 views
-1

我想用jQuery改进我的表单联系人。我想单击并在提交按钮上显示占位符值后清除输入字段。我在我的输入字段中有占位符,并希望将它们加载到变量中并在ajax post方法之后显示它们。jQuery - 提交表单联系人后的占位符值

<input type="text" name="name" placeholder="Name" data-error="Please write name"> 

和jQuery代码:

form.on("submit", function(e) { 
     e.preventDefault(); 

     var hasErrors = false; 

     $('div.error_message').remove(); // Remove any old errors when submitting the form 

     fields.each(function(i, elem) { 
      var field = $(elem), 
       empty = $.trim(field.val()) === "", 
       errors = field.data("error"); 

      if (empty) { 
       hasErrors = true; 
       field.after('<div class="error_message">' + errors + '</div>'); // add new error messages 
       field.toggleClass("form_error", empty); 
      } 
     }); 

     if (!hasErrors) { 
      var formData = $(this).serializeArray(); 
      $.post(form.attr("action"), formData, function(data) { 
       console.log(data, true); 

      $(".przycisk").on("click", function() { 
       var placeholder = $("input[placeholder]"); 
       console.log(placeholder); 
       $("input, textarea").val(placeholder); 

      }); 

     } else { 

     } 

     return false; 
    }); 

回答

2

你不得不说至极属性从输入你想要使用。 在jQuery是这样:.attr( '的attributeName') 现在你可以选择任何属性(如占位符)

改变你的代码是这样的:

$("input, textarea").val(placeholder.attr('placeholder')); 

看到这里我的代码: https://codepen.io/miladfm/pen/ZyOEWX

+0

耶的作品,但不能ü恢复价值占位?我的意思不是输入字段的值,而是默认属性 – FreeStyle09

+0

您想要更改占位符值?或者是其他东西? – miladfm

+0

不,我有一个函数,当有人模糊我的输入字段时显示错误,当字段为空时,我的数据错误显示在它下面,当我完成表单联系并单击提交按钮时,我想将输入字段恢复为占位符值。不要像在我们的代码中的文本,而是使用占位符的原始输入。 – FreeStyle09

-1

好吧,我解决这个问题,我的问题是,其实我对我消除了占位符什么是我的失误,我改变成:

fields.on("click", function() { 
      $(this).addClass('placeholders'); 
     }); 

CSS占位符:

.placeholders::placeholder { 
    opacity: 0; 
} 

,当我发短信我折腾这样的后:

$(".contact_form input, textarea").each(function() { 
        $(this).val("").removeClass('placeholders'); 
       });