2017-11-14 9 views
0

私のコードはフォームを探していて、新しいトークンID行を追加しています。 この行がある場合は、新しい行を追加しないようにする必要があります。Jqueryが複数回行を追加するのを防ぐ方法

<SCRIPT LANGUAGE = "JavaScript" > 
      $(document).ready(function() { 
       $("form").append('<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">');<br> 
      }); 
    </script> 


、私を教えてください:
ありがとうございました。

答えて

0
$(document).ready(function() { 
    if(($('#tokenID').length) == 0) { 
     $("form").append('<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF" />'); 

    } 
}); 
+1

このコードで質問に答えることができますが、問題の解決方法および/または理由を説明する追加のコンテキストを提供すると、回答の長期的価値が向上します。 – mx0

+0

#tokenIDから#を削除するだけです。 – KekoSha

+0

Lovin Nagiさん、ありがとうございました。ご協力いただきありがとうございます。 – KekoSha

0

は価値があるすべての準備ができている場合は、すでにトークンIDラインを持っていない任意のフォームを検索することができますincludes

$("form").each(function(){ 
    if!($(this).html().includes("<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">")){ 
     $(this).append('<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">');<br> 
    } 
}); 
0

を使用してチェックしてみます。

$("form").find(
    'form:not(:Contains(" 
      <input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">' 
    ).append(
     '<input type="hidden" name="tokenF" id="tokenID" value="#session.tokenF">' 
    ); 

これは、追加する行が含まれていないフォームフィールドを見つけて、その行を追加します。

関連する問題