gpt4 book ai didi

javascript - 在 $_REQUEST 中选择没有显示的元素是空字符串

转载 作者:行者123 更新时间:2023-11-30 13:10:03 24 4
gpt4 key购买 nike

我无法使用 PHP 获取文本字段 new_list_id 的值。这是我的代码:

<select id="mymenu" size="1" name='sf_old' class='short_tf'>
<option >&nbsp;</option>
<option value="nothing">New Input</option>
<option value="101">101</option>
<option value="102">102</option>
</select>

<input type='text' class='short_tf' name='new_sf' id='new_list_id' style='display:none;'/>

<script type="text/javascript">
var selectmenu=document.getElementById("mymenu")
selectmenu.onchange=function(){
var index = selectmenu.selectedIndex;
if (index == '1') {
document.getElementById('new_list_id').style.display='inline';
document.getElementById('mymenu').style.display='none';
}
}
</script>

使用 PHP 我可以获得我的 SELECT 标记 mymenu 的值,如果它是被选中的,但我无法检索我的文本字段 new_list_id 的值,如果它是一个存在并且 SELECT 标记被隐藏。

问题:我为我的文本字段获得的值是来 self 的 SELECT 标记的字符串“nothing”。想不通为什么。

我也使用了 name 属性,但它给了我相同的结果。这是我的 PHP 代码:

if(isset($_REQUEST['sf_old'])) {
$sf=$_REQUEST['sf_old'];
} elseif(isset($_REQUEST['new_sf'])) {
$sf=$_REQUEST['new_sf'];
} else {
$sf='';
}

echo $sf;

最佳答案

将元素的 display 样式属性更改为 none 只会使其在视觉上隐藏。它不会改变将或不会发送到服务器的事实。因此,第一个条件始终为真,如果从未触发,则 else 子句。

您可以尝试另一种方式:

$sf = "";

if(isset($_POST['sf_old']) && isset($_POST['new_sf'])){
if($_POST['sf_old'] == "nothing"){
$sf = $_POST['new_sf'];
} else {
$sf = $_POST['sf_old'];
}
}

echo $sf;

我更喜欢直接使用 $_POST 而不是 $_REQUEST

关于javascript - 在 $_REQUEST 中选择没有显示的元素是空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14214572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com