javascript - 使用 onchange 函数、PHP、JAVASCRIPT 时选择列表忽略第一个值

标签 javascript php

我使用下面的选择列表函数来创建一个包含 5 个值的选择列表。当我选择值 2-5 时,它们工作正常,当我选择它们时,它们会在页面上打印出它们的值,但无论如何,值 1 都不会打印出来。我不知道我做错了什么或如何解决它。请看一下我的代码:

index.php

function limit($count,$location) {

echo "<form method = 'POST' action = '$location'>";
echo "<select name = 'value' onchange='this.form.submit()'>";

while ($tempCount < $count) {
$tempCount++;
echo "<option value='$tempCount'>$tempCount</option>";
}

echo "</select>";
echo "</form>";

}

limit(5,"index.php")

$value = $_POST['value'];
echo $value;

最佳答案

将第一个选项添加到 < select > ,并且,检查是否 $_POST['value']存在。接下来是您的代码,其中两个更改均由注释箭头指向 (//<======) :

<?php

function limit($count,$location) {

echo "<form method = 'POST' action = '$location'>";
echo "<select name = 'value' onchange='this.form.submit()'>" .
     "<option>Select an option</option>";  // <===========================

while ($tempCount < $count) {
$tempCount++;
echo "<option value='$tempCount'>$tempCount</option>";
}

echo "</select>";
echo "</form>";

}

limit(5,"xyz.php");

if ( isSet( $_POST['value'] ) )   // <===========================
   { $value = $_POST['value'];
     echo $value;
   }
?>

“选择一个选项”选项将允许用户选择选项 1。

如果您不想看到“选择一个选项”,另一种解决方案是使所选选项处于选中状态,例如,如果用户选择“3”,则当页面重新加载时,选项“3”将被选中选中,用户将能够选择选项“1”:

<?php

function limit($count,$location) {

echo "<form method = 'POST' action = '$location'>";
echo "<select name = 'value' onchange='this.form.submit()'>";

while ($tempCount < $count) {
$tempCount++;

// MAKE THE CURRENT OPTION SELECTED IF IT WAS CHOSEN BEFORE. <==========
if ( isSet( $_POST['value'] ) &&        // IF 'value' EXISTS, AND
   ( $_POST['value'] == $tempCount ) )  // IF 'value' == CURRENT NUMBER
     $selected = "selected";
else $selected = "";

echo "<option $selected value='$tempCount'>$tempCount</option>";
}

echo "</select>";
echo "</form>";

}

limit(5,"xyz.php");

if ( isSet( $_POST['value'] ) )   // <===========================
   { $value = $_POST['value'];
     echo $value;
   }
?>

关于javascript - 使用 onchange 函数、PHP、JAVASCRIPT 时选择列表忽略第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31304529/

相关文章:

javascript - 删除父 div 悬停上的按钮类

javascript - 在没有发件人地址的 html 表单帖子上发送电子邮件

php - 无法从 PHP 创建 View 但可以从 phpMyAdmin

javascript - Highcharts - 动态获取可见系列名称

php - 为什么我的 CKEditor 添加了垃圾代码?

javascript - Reactjs 多个 if classNames

javascript - 通过 props 传递 "this"上下文是反模式吗?

PHP匿名函数链接

php - MySQL GROUP BY 查询仅返回一行

javascript - 滚动顶部不工作