こんにちはすべて私のプロジェクトに別の質問で戻ってきます。私は何らかの理由で立ち往生し続けます!私は今日AJAXを使い始めましたので、私の無知を許して欲しいです!大丈夫まずタイプボタンがあり、それをクリックすると番号(顧客が購入したい特定のアイテムの金額)とアイテムの名前が返されます。番号はドロップダウンリストから選択され、本の名前は入力タイプ= "hidden"から得られます。ドロップダウンリストからPHPへの番号を取得する私は私のHTMLページのヘッダーにメソッドとして設定したAJAXを使用したい。このメソッドのコードは、この時点でajaxを使ってアイテムの番号を同じPHPページに戻そうとしています。ここに方法があります。次AJAXを使用してjavascriptの値をすべて同じページのPHPに戻します
function ajax_post(myform)
{
var hr = new XMLHttpRequest();
var url = "islandshop.php";
var index = myform.quantity1.selectedIndex;
var value = document.getElementById("quantity1").options[index].value;
var variable = "value="+value;
hr.open("post", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("status").innerHTML = return_data;
}
}
hr.send(variable);
document.getElementById("status").innerHTML = "processing data";
}
私はしたいボタンを押したときのドロップダウンリストからわずか数は、PHPで私に戻ったところです。しかし、ボタンをクリックすると、カートに追加ボタンが表示され、全ページ "islandshop.php"が返されます。しかし、ページの終わりの値が少なくとも悪いわけではないので、値を返すことになります。私のフォームでは、私のボタンでajax_post()メソッドを呼び出します。
<form method="post" action="" name="form1">
<span style="color:#000"> <label for="quantity">Quantity:</label></span>
<select name="quantity1" id="quantity1" onchange="">
<option value="1" selected>1</option><option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option><option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option><option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option><option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option><option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option><option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option><option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option><option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option><option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option><option value="29">29</option>
<option value="30">30</option>
</select>
<input type="hidden" name="book1" value="cape clear island: its peopleand landscape" />
<input type="button" value="Add To Cart" name="submit1" onclick="javascript:ajax_post(this.form)"></button>
</form>
私にはうまくいくようです。最後の部分はislandshop.phpページの最後のphpタグです。ここで値を試して印刷し、ページ全体のコピーを取得します。私のページはブラウザに2回表示されます。ページの2番目のバージョンの値を使用します。
<?php
if(isset($_SESSION['username']))
{
echo 'Thank you you selected '. $_POST['value'];
}
?>
私はこのページ「islandshop.phpとしてhr.open()のURLを持っているとして、私はボタンを押したときにIMが戻ってページ全体を取得し、なぜ私は知っていると思う。私はこれについて何かを読んで、それが何かを言いました値をブラウザに送ってから、ブラウザが元のページにリダイレクトする.phpページに変数を送り返しましたが、それはうまく説明されませんでした。本当に私の主な目標は、ドロップダウンリストから値を取得することです私はPHPフォームのサーバーから私にこのページのものをする価値を使うことができます!助けを借りてもう一度お礼を言います。 AJAXの良い本や記事が喜ばれるだろう!歓声
いつ 'username'セッション変数が設定されていますか?上記のHTMLは 'islandshop.php'からのものです。あなた自身にポストバックしていますか? –
ああ、これは私がユーザーのログイン時に設定したものです!それが可能な場合、それを自分自身に戻そうとしているのですか? probではない。ドロップダウンリストから値を取得してサーバーに送信し、それらをPHP値として返します。多分間違った木を完全に吠えているのかもしれない! – eoin
私は自分自身にドロップダウンリストから値を投稿しようとしています!ごめんなさい! – eoin