2017-06-12 18 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の中 はそうです:

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

は私のコードをここに参照してください: .ATTR( 'attributeNameの') は今、あなたが(プレースホルダのように)あなたの任意の属性

変更を選択することができ、このようなあなたのコードhttps://codepen.io/miladfm/pen/ZyOEWX

+0

ええ作品が、uはプレースホルダ値を復元カント?私はフィールドへの入力の値ではなくデフォルトのプロパティへの値を意味します – FreeStyle09

+0

プレースホルダの値を変更したいですか?または、他の何か? – miladfm

+0

いいえ、誰かが私の入力フィールドをぼかすとエラーを表示する機能があります。フィールドが空の場合はデータエラーが表示され、フォームの連絡先を入力してSubmitボタンをクリックすると、入力フィールドをプレースホルダ値に復元します。 URコードのようなテキストではなく、プレースホルダーによる元の入力に。 – FreeStyle09

-1

[OK]を、私は私の問題は、実際に私は私のミスだったもの私のプレースホルダを削除して、私はにあることを変更することだった、という修正:

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

CSSのプレースホルダ:

.placeholders::placeholder { 
    opacity: 0; 
} 

と私がメッセージを送信するときにした後、私はこのようなSTHん:

$(".contact_form input, textarea").each(function() { 
        $(this).val("").removeClass('placeholders'); 
       }); 
関連する問題