Php 成功提交后清除选择选项 类别:
您的行中有语法错误:Php 成功提交后清除选择选项 类别:,php,Php,您的行中有语法错误: <div class="select_list"> <div class="labels">Category:</div> <?php if(!isset($_POST['postbtn)){ echo "<script>$(document).ready(function(){ $('.category').val(0);
<div class="select_list">
<div class="labels">Category:</div>
<?php
if(!isset($_POST['postbtn)){
echo "<script>$(document).ready(function(){
$('.category').val(0);
})
</script>";
}
echo "<select name='category' id='catg_list' class='list_catg'>
<option value='0'";
if(isset($_POST['category']) && $_POST['category']=='0'){
echo "selected";
}
echo">none</option>";
$query = mysql_query("SELECT id, name from table1");
while($query_fetch = mysql_fetch_assoc($query)){
echo "<option value='".$query_fetch['id']."'";
if(isset($_POST['category']) && $_POST['category']==$query_fetch['id'])
{
echo "selected";
}
echo ">".$query_fetch['name']."</option>";
}
echo "</select>";
?>
</div>
将其更改为:
if(!isset($_POST['postbtn)){
我猜有些事情你没有提到:
在发布的代码上方验证脚本,如果脚本验证成功,则希望选择“无”选项
if(!isset($_POST['postbtn'])){
只有验证正确时,才会设置该值,否则将设置为false
$selected_value = $validation ? $_POST['category'] : false;
按如下方式简化代码以完成所需任务
<?php
echo "<select name='category' id='catg_list' class='list_catg'>
<option value='0'";
//CHANGE
if($selected_value == 0){ //Or if($selected_value === FALSE ||$selected_value === 0)
echo "selected";
}
echo">none</option>";
$query = mysql_query("SELECT id, name from table1");
while($query_fetch = mysql_fetch_assoc($query)){
echo "<option value='".$query_fetch['id']."'";
//CHANGE
if($selected_value !== FALSE && $selected_value == $query_fetch['id'])
{
echo "selected";
}
echo ">".$query_fetch['name']."</option>";
}
echo "</select>";
?>
$category=isset($\u POST['category'])$_POST['category']:0;
$array[“0”]=“无”;
$query=mysql_query(“从表1中选择id、名称”);
而($query\u fetch=mysql\u fetch\u assoc($query)){
$id=$query_fetch['id'];
$array[$id]=$query\u fetch['name'];
}
回声“;
foreach($id=>$name的数组){
$selected=$category==$id?“selected”:“;
回显“$name.”;
}
回声“;
看起来您正在检查默认值是否设置为0?为什么不在默认情况下将该值设置为0呢。这样,无论页面何时加载,它都将被设置为非。实际上,我在表单中有更多的字段,如textfields,这些字段需要在提交之前正确填写。现在,如果有人在其中一个文本字段中输入了错误的数据,则应停止提交,但在这种情况下,如果用户选择了某个元素,则该元素应保持选中状态,并且只有在提交无错误时才应重置为“无”。
$category = isset($_POST['category']) ? $_POST['category'] : 0;
$array["0"]="none";
$query = mysql_query("SELECT id, name from table1");
while($query_fetch = mysql_fetch_assoc($query)){
$id = $query_fetch['id'];
$array[$id] = $query_fetch['name'];
}
echo "<select name='category' id='catg_list' class='list_catg'>";
foreach($array as $id=>$name) {
$selected = $category==$id ? "selected" : "";
echo "<option value='".$id."' ".$selected." >".$name."</option>";
}
echo "</select>";