使用onchange函数时,选择列表忽略第一个值,PHP, JAVASCRIPT
Select list ignores first value when using the onchange function, PHP, JAVASCRIPT
我使用下面的选择列表函数来创建一个有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 >
添加一个first选项,并检查$_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;
}
?>
选项"Select an option"将允许用户选择选项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 XMLHttpRequest——只有第一个POST请求有效
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 与杜兰达尔合作的第一个JavaScript项目.尝试从第三方 API 获取数据
- Javascript:表单验证getElementById仅返回第一个id元素
- 如何通过连接多个异步javascript调用,从对象数组中排序并获取第一个obejct
- 使用 javascript 获取文本框中输入的第一个值
- Hov 我用 javascript 改变风格,只影响第一个 ul
- Javascript 函数在 PHP 中的第一个 while 循环后停止
- 构建我的第一个Javascript应用程序(jQuery),努力做一些事情
- 从对象中的 javascript 数组中获取第一个值
- 在 javascript 中创建第二个 html 元素会删除第一个
- 如何以第二个 JavaScript 形式加载数据,然后解析为第一个 JavaScript 形式
- 第一个Javascript项目
- 我的第一个javascript代码不起作用-自制的图像滑块
- 第一个javascript函数调用从未执行
- 需要帮助创建我的第一个javascript类
- 第一个JavaScript函数/链接停止工作
- 多个if但只运行第一个?javascript
- 删除最后一个无效字符,而不是第一个(javascript验证)
- 倒计时到每个月的第一个Javascript(刷新每个月)