我有一個頁面,我添加一個問題,這個頁面有兩個選擇標籤,一個是顯示類型,另一個是章節。如何在PHP中調用ajax函數?
現在,當第一次添加問題時,用戶將選擇一個類型,然後章節將通過ajax函數加載,並將顯示在選擇標籤中。
現在,當用戶提交表單時,我將該類型保存在一個會話中,以便下次用戶轉到該頁面時,默認情況下會選擇該類型。
現在只有我可以看到在選擇標記中選擇的類型,但是在章節中沒有標記,我想顯示章節,如果類型保存在會話中,爲此我需要調用ajax函數頁面加載並設置會話類型。
<?php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MCQ Questions</title>
</head>
<body>
<?php
session_start();
?>
<form method="post" action="uploadQuestion.php" enctype="multipart/form-data">
<p> Enter the question :</p> <input name="question" type="text"> <br><br>
<?php
if (isset($_SESSION['quetype']))
{
$type = $_SESSION["quetype"]; ?>
Select Rank :
<select name="types" id="types" onchange="getValue(this)">
<option value=""> Select Rank</option>
<option name="type" id="t1" value="1" <?=($type==1?"selected":"");?>> Apprentice </option>
<option name="type" id="t2" value="2" <?=($type==2?"selected":"");?>> Volume 1 CDC </option>
<option name="type" id="t3" value="3" <?=($type==3?"selected":"");?>> Volume 2 CDC Video</option>
<option name="type" id="t4" value="4" <?=($type==4?"selected":"");?>> Volume 3 CDC Video</option>
<option name="type" id="t5" value="5" <?=($type==5?"selected":"");?>> Volume 4 CDC Video</option>
<option name="type" id="t6" value="6" <?=($type==6?"selected":"");?>> Volume 5 CDC</option>
</select> <br><br>
<?php
}
else {
?>
Select Rank :
<select name="types" id="types" onchange="getValue(this)">
<option value=""> Select Rank</option>
<option name="type" id="t1" value="1"> Apprentice </option>
<option name="type" id="t2" value="2"> Volume 1 CDC </option>
<option name="type" id="t3" value="3"> Volume 2 CDC Video </option>
<option name="type" id="t4" value="4"> Volume 3 CDC Video </option>
<option name="type" id="t5" value="5"> Volume 4 CDC Video </option>
<option name="type" id="t6" value="6"> Volume 5 CDC </option>
</select> <br><br>
<?php
}
?>
Select chapter :
<select name="chapters" id="chapters">
<option value="">Select chapter</option>
</select> <br><br>
<p> Enter options :</p>
Enter option A : <input name="opt1" type="text"> <br><br>
Enter option B : <input name="opt2" type="text"> <br><br>
Enter option C : <input name="opt3" type="text"> <br><br>
Enter option D : <input name="opt4" type="text"> <br><br>
Select correct answer :
<select name="ans" id="type">
<option value="">Select answer...</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
<br><br>
<input type="submit" value = "Submit">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
<?php
if(!empty($type))
{
?>
$(document).ready(function() {
getValue(<?php echo $type?>);
});
<?php
}
?>
function getValue(obj) {
var value = obj.value;
$.ajax({
type: "POST",
url: 'edit.php',
data: {
"val" : value
},
dataType: 'text',
async: false,
cache: false,
success: function (result) {
// alert(result);
$('#chapters').html(result);
}
});
}
</script>
</form>
</body>
</html>
我試圖在document.ready事件中的腳本標記中調用該函數,但它不起作用。請幫忙,謝謝。
我沒有看到你這些行後,關閉PHP標籤。 'getValue(<?php echo $ type?>); } <?php}'。你也沒有正確關閉'$(document).ready'。可能要加倍檢查您的代碼。它似乎已經有很多問題了。 – cosmoonot
嘗試解決我提到的兩個問題。你是否遇到任何控制檯錯誤? – cosmoonot
修復了兩個問題仍然無法正常工作。請檢查腳本標記中的編輯代碼。我沒有收到任何錯誤。@ cosmoonot – Sid