可能重复:
如何显示正确的页码?
我在下面有一段代码,它确定用户正在进行的评估以及用户当前正在进行的评估编号:
<h1>CREATING QUESTIONS AND ANSWERS: ASSESSMENT <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_count'] ?></h1>
因此,在浏览器上,这可以读取例如:
CREATING QUESTIONS AND ANSWERS: ASSESSMENT 1 OF 4
现在下面我有一个提交按钮:
<input id="addQuestionBtn" name="addQuestion" type="button" value="Add Question" onClick="insertQuestion(this.form)" />
现在,如果用户单击该按钮,它将显示一个确认框,如果用户单击“确定”进行确认,那么它将提交页面,假设发生的情况是它会在评估中添加一个数字以表明用户正在进行下一次评估。
例如:
如果页面上这样说:
CREATING QUESTIONS AND ANSWERS: ASSESSMENT 1 OF 4
如果用户提交页面并确认,那么它现在应该这样说:
CREATING QUESTIONS AND ANSWERS: ASSESSMENT 2 OF 4
这是因为用户现在正在进行下一次评估。
但问题是当用户提交页面时它根本没有添加数字。它只是停留在'1'并且不加起来。因此,不是执行上述操作,而是执行以下操作:
如果页面上这样说:
CREATING QUESTIONS AND ANSWERS: ASSESSMENT 1 OF 4
如果用户提交页面并确认,那么它仍然会说:
CREATING QUESTIONS AND ANSWERS: ASSESSMENT 1 OF 4
这显然是不正确的。
所以我的问题是,有谁知道为什么它没有把数字加起来?我知道 php 不是问题,因为我测试了我的代码,我发现如果没有 jqueryvalidation()
函数,那么代码可以正常工作,它会从 1 开始添加数字。
但是,如果我包含所需的 jqueryvalidation()
函数,那么它根本不会添加数字,而只会保持在 1。
任何人都可以帮助解决这个问题吗?
您可以在这里自己测试应用程序,只需按照以下步骤操作:
- 当您在文本框中打开链接类型 5 并提交页面
- 当您导航到下一页时,您会在顶部看到它的状态
CREATING QUESTIONS AND ANSWERS: ASSESSMENT 1 OF 5
。现在滚动到页面底部并单击“提交详细信息”按钮并确认确认框。 - 您会看到标题仍然是状态
CREATING QUESTIONS AND ANSWERS: ASSESSMENT 1 OF 5
而不是CREATING QUESTIONS AND ANSWERS: ASSESSMENT 2 OF 5
。
以下是相关代码,因此您知道代码是什么:
<?php
session_start();
if(isset($_POST['sessionNum'])){
//Declare my counter for the first time
$_SESSION['initial_count'] = $_POST['sessionNum'];
$_SESSION['sessionNum'] = intval($_POST['sessionNum']);
$_SESSION['sessionCount'] = 1;
}
elseif (isset($_POST['submitDetails']) && $_SESSION['sessionCount'] < $_SESSION['sessionNum']) {
$_SESSION['sessionCount']++;
}
$sessionMinus = $_SESSION['sessionCount'];
if ($sessionMinus == $_SESSION['initial_count']){
$action = 'create_session2.php';
}elseif($sessionMinus != $_SESSION['initial_count']){
$action = $_SERVER['PHP_SELF'];
}
?>
<script type="text/javascript">
function validation() {
var _qid = "";
var _msg = "";
var alertValidation = "";
// Note, this is just so it's declared...
$("tr.optionAndAnswer").each(function() {
_qid = $("td.qid",this).text();
_msg = "You have errors on Question Number: " + _qid + "\n";
$(".textAreaQuestion",this).each(function() {
if (!this.value || this.value.length < 5) {
alertValidation += "\n\u2022 You have not entered a valid Question\n";
}
if (alertValidation != "") {
return false; //Stop the each loop
}
});
if(alertValidation != ""){
return false;
}
});
if (alertValidation != "") {
alert(_msg + alertValidation);
return false;
}
return true;
}
function showConfirm(){
var confirmMsg=confirm("Make sure that your details are correct, once you proceed after this stage you would not be able to go back and change any details towards Questions, Options and Answers for your Session." + "\n" + "\n" + "Are you sure you want to Proceed?" + "\n" );
if (confirmMsg==true)
{
submitform();
}
}
function submitform()
{
var fieldvalue = $("#QandA").val();
$.post("insertQuestion.php", $("#QandA").serialize() ,function(data){
var QandAO = document.getElementById("QandA");
QandAO.submit();
});
alert("Your Details for this Session has been submitted");
}
</script>
</head>
<body>
<form id="QandA" action="<?php echo htmlentities($action); ?>" method="post">
<h1>CREATING QUESTIONS AND ANSWERS: ASSESSMENT <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_count'] ?></h1>
<p><input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" onClick="myClickHandler(); return false;" /></p>
</form>
<script type="text/javascript">
function myClickHandler(){
if(validation()){
showConfirm();
}
}
</script>