0

これは私がw3schoolsからAJAXにロードするために学んだスクリプトです。

document.getElementById("sendInvoiceButton").innerHTML = '';
  var xmlhttp;
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById("invoiceIDStatus").innerHTML = '';
        document.getElementById("invoiceIDStatus").innerHTML=xmlhttp.responseText;
      }
    }

  var invoiceID = document.getElementById("cred_form_4684_1_wpcf-ticket-invoice-id").value;
  var text = "invoiceID=" + encodeURIComponent(invoiceID);
  document.getElementById("invoiceIDStatus").innerHTML = '<img src="http://www.lessons.com.sg/freshbooks/demo_wait.gif" />';
  xmlhttp.open("POST","/freshbooks/getInvoice.php",true);
  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  xmlhttp.send(text);
}

1つのxmlhttp.responseTextしか出力できません。

請求書番号もテキストボックスに送信したいのですが。どうやってやるの?

4

2 に答える 2

1

簡単な方法

if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    ...
    document.getElementById("yourTextboxId").innerHTML=xmlhttp.responseText;
}

または、テキストボックスでテキストフィールドを意味する場合

if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    ...
    document.getElementById("yourTextfieldId").value=xmlhttp.responseText;
}

jquery を使用することをお勧めします。よりシンプルでクロスブラウザ互換性があります

jqueryの場合、これは次のようになります

$.ajax({
    url:'/freshbooks/getInvoice.php',
    method:'POST',
    data: {invoiceID: $('#cred_form_4684_1_wpcf-ticket-invoice-id').val()},
    success: function(data) { 
       $('#invoiceIDStatus').html(data);
       $('#yourTextfieldId').val(data);
    }
});
于 2013-02-06T08:39:19.567 に答える
0

受信しているデータの構造はわかりませんが、html 形式で送信してfind()から、分割して別の入力フィールドに入れることができます。

于 2013-02-06T08:41:28.250 に答える