2017-06-12 88 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'); 
       });