2017-08-26 11 views
2

これはおそらく非常に基本的なjquery構文ですが、私はあまりよく慣れていません。私は特定のIDを持つHTML入力がページに存在する場合にのみ、jquery ajax呼び出しを行いたいと思います。これはどうすればいいですか?条件付きajaxコール

答えて

2
  1. を確認することができます(例えば、</bodyタグの終了の直前)、または文書準備DOMイベントを待つ。
  2. DOM要素の存在を確認します。あなたがそのように行うことができます

$(document).ready(function() { 
 
    if ($('#jepp').length) { // 0 validates falsy and != 0 truthy 
 
     $('#jepp').val('do your stuff eg ajax') 
 
    } 
 
}); 
 

 
// or a little bit more advanced 
 
$(function() { // document ready 
 
    if (document.getElementById('jepp')) { // vanilla JavaScript but still straight forward 
 
     $('#jepp').val($('#jepp').val() + ' | a bit more advanced') 
 
    } 
 
})
<input id="jepp" value="" style="width:100%"> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

[truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy)と [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) ) – Axel

1

あなたのスクリプトが検証するために、マークアップの後に含まれるSHUREを確認したIDを持つ要素がはいselector.If上の長さを使用して、ページ上に存在する場合は、あなたの要求を実行

if($("#yourId").length>0){ 
    //Your request 
    $.post("ajax/test.html", function(data) { 

    }); 
} 
+0

長さは存在しません。 – ste2425

2
<input name="foo" id="data"> 
<script type="javascript"> 
    ... 
     var elementSize = $('#data').size(); 
     if(size > 0){ 
      $.ajax({ 
       ... 
      }); 
      // Page contains id 
     }else { 
      //Page doesn't contains id 
     } 
    ... 
</script> 

$('#element-id').size()又は$('#element-id').length

id要素のサイズです。 Id値は1で、一意でなければなりません。あなたはサイズを確認し、ajaxを呼び出します