Я хочу передать идентификатор с помощью вызова ajax.. я попробовал следующий код

#javascript #ajax

#javascript #ajax

Вопрос:

Я хочу передать идентификатор кнопки с помощью вызова ajax… и отобразите результат в id с именем demo2 …

 <script>
function loadDoc2() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 amp;amp; xhttp.status == 200) {
      document.getElementById("demo2").innerHTML = xhttp.responseText;
    }
  }
  xhttp.open("GET", "get_coupon_code.php?offline_offer_id="  this.id, true);
  xhttp.send();
}
</script>

<div id="demo2"></div>

<button id="111" onclick="loadDoc2()">Button 1</button>
<button id="222" onclick="loadDoc2()">Button 2</button>
<button id="333" onclick="loadDoc2()">Button 3</button>
  

Комментарии:

1. передайте this.id метод loadDoc2() вот так <button id="111" onclick="loadDoc2(this.id)">Button 1</button> и получите этот идентификатор в функции javascript следующим образом : loadDoc2(id)

Ответ №1:

Вы можете сделать это двумя способами № 1.

 <script>

 function loadDoc2(id) { //here is your id
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 amp;amp; xhttp.status == 200) {
      document.getElementById("demo2").innerHTML = xhttp.responseText;
    }
  }
  xhttp.open("GET", "get_coupon_code.php?offline_offer_id="  this.id, true);
  xhttp.send();
}
</script>

<div id="demo2"></div>

<button id="111" onclick="loadDoc2("111")">Button 1</button>
<button id="222" onclick="loadDoc2("222")">Button 2</button>
<button id="333" onclick="loadDoc2("333")">Button 3</button>
  

Нет 2.

 <script>
function loadDoc2() {
var Id = $(this).attr('id');  //here is your id
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 amp;amp; xhttp.status == 200) {
      document.getElementById("demo2").innerHTML = xhttp.responseText;
    }
  }
  xhttp.open("GET", "get_coupon_code.php?offline_offer_id="  this.id, true);
  xhttp.send();
}
</script>

<div id="demo2"></div>

<button id="111" onclick="loadDoc2()">Button 1</button>
<button id="222" onclick="loadDoc2()">Button 2</button>
<button id="333" onclick="loadDoc2()">Button 3</button>
  

Ответ №2:

Я бы передал его функции и использовал его как переменную, потому что «это» отображается в области окна.

 <script>
function loadDoc2(element) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 amp;amp; xhttp.status == 200) {
      document.getElementById("demo2").innerHTML = xhttp.responseText;
    }
  }
  xhttp.open("GET", "get_coupon_code.php?offline_offer_id="  element.id, true);
  xhttp.send();
  document.getElementById("demo2").innerHTML = element.id   " clicked";
}
</script>

<div id="demo2"></div>

<button id="111" onclick="loadDoc2(this)">Button 1</button>
<button id="222" onclick="loadDoc2(this)">Button 2</button>
<button id="333" onclick="loadDoc2(this)">Button 3</button>