私の登録フォームには、私の Web サイトに登録するためのユーザーの詳細を提供する多くのフォーム要素があります。これらの要素の中には、ユーザーが地区と都市を選択するための 2 つの選択ボックスがあります。ajaxを使用して、これら2つの選択ボックスを作成しました。したがって、ユーザーが地区を選択すると、都市の 2 番目の選択ボックスを作成する ajax が自動的に作成されます。findcity.php という別の PHP ページを使用して、都市選択ボックスを作成しました。onChange 属性を使用して、元の register.php ページからこの findcity.php ページを呼び出しました。そこで、findcity.phpページへのURLとともに地区IDを渡しました。同じく、
ユーザーがfindcity.phpページの都市選択ボックスから都市を選択したときに、都市IDを元のregister.phpページに持ってくる必要があります。私の問題はそれです。register.php ページの都市 ID を取得しようとしましたが、取得できませんでした。他のフォーム要素の値とともにデータベースに送信するには、都市 ID が必要です。
誰でも私の問題を解決するのを手伝ってもらえますか?
参照用の私のコーディングは次のとおりです。
このコードは、私の register.php ページからのものです
<div>
<label for="district">District <img src="../images/required_star.png" alt="required" /> : </label>
<?php
require_once ('../includes/config.inc.php');
require_once( MYSQL2 );
$query="select * from district order by district_id";
$result = mysqli_query( $dbc, $query);
echo '<select name="district" class="text" onChange="getCity(' . "'" . 'findcity.php?district=' . "'" . '+this.value)">';
echo '<option value="">-- Select District --</option>';
while( $row = mysqli_fetch_array($result, MYSQLI_NUM)) {
echo '<option value="' . $row[0] . '"';
// Check for stickyness:
if ( isset( $_POST['district']) && ( $_POST['district'] == $row[0] ))
echo ' selected="selected"';
echo " >$row[1]</option>";
}
echo '</select>';
?>
</div>
<div>
<label for="city">City <img src="../images/required_star.png" alt="required" /> : </label>
<input type="hidden" name="reg_locationid" id="reg_locationid" value="56" />
<div id="citydiv" style="position: relative; top: -14px; left: 130px; margin-bottom: -26px;">
<select name="city" class="text">
<option>-- Select City --</option>
</select>
</div>
</div>
これは私のfindcity.phpページからです
<?php
$districtId=$_GET['district'];
require_once ('../includes/configaration.inc.php');
require_once( MYSQLCONNECTION );
$query="select city_id, city_name from city2 where district_id=$districtId";
$result=mysqli_query( $dbc, $query);
echo '<select name="city" class="text">
<option>-- Select City --</option>';
while($row=mysqli_fetch_array($result, MYSQLI_NUM)) {
echo '<option value="' . $row[0] . '"';
// Check for stickyness:
if ( isset( $_POST['city']) && ( $_POST['city'] == $row[0] )) {
echo ' selected="selected"';
//echo '<input type="hidden" name="city" value="' . $row[0] . '"';
}
echo " >$row[1]</option>";
}
echo '</select>';
?>
これらはajax関数です
function getXMLHTTP() { //function to return the xml http object
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getCity(strURL) {
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('citydiv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
どんなコメントでも大歓迎です。