我试图将一个js变量(当用户在select下拉菜单中选择一个随机选项时得到的值)传递给php变量,这样我就可以检查数据库中所选选项的属性了。
Option是AD的名称,value实际上是数据库中的ID。
当用户选择方法getSelected()
被调用时。在这个方法中,我首先尝试使用AJAX将存储在js( value = e.options [e.selectedIndex] .value; )中的ID值传递给PHP变量。我写的文件实际上是" uredi.php"。所以我想知道我在这里做错了什么。我对任何建议持开放态度。
我用php创建一个选择框,工作正常。
问题是错误:
未定义的索引:第38行的C:\ xampp \ htdocs \ mod \ sub \ uredi.php中的建议
这是代码:
<body>
<div class="generalBox">
<form class="generalForm" action="" method="POST">
<label class="headLabel">UREDI</label>
<br>
<br>
<script>
var value;
var opis;
var datumz;
var datumk;
var pr;
var format;
document.write(<?php echo json_encode(getCurrentAds()); ?>);
function getSelected(){
var e = document.getElementById("ogSelect");
value = e.options[e.selectedIndex].value;
console.log(value);
$.post("uredi.php", {
suggestion: value
}, function(data, status){
$("#test").html(data);
});
<?php $id = $_POST['suggestion']; ?>
}
}
</script>
<br>
<br>
<input class="inputTextSub" id="opisE" name="opisE" type="text">
<br>
<br>
<input class="inputTextSub" id="datumzE" name="datumzE" type="date">
<br>
<br>
<input class="inputTextSub" id="datumkE" name="datumkE" type="date">
<br>
<br>
<label class="inputTextSub">prioriteta</label>
<select class="inputSelSub" id="prE">
<option value=1>1</option>
<option value=2>2</option></select>
<br>
<br>
<label class="inputTextSub">format</label>
<select class="inputSelSub" id="formatE">
<option value=1>A3</option>
<option value=2>A4</option></select>
<br>
<br>
<input type="file" name="fileE" id="fileE" class="inputfile" />
<br>
<br>
<p id="test" class="inputTextSub"></label>
<input class="button" style="margin-top:2em;" name="saveE" type="submit" value=" shrani ">
</from>
</div>
</body>
如果你想知道的话,这里是getCurrentAds()
function getCurrentAds(){
$dropDown='';
$query = 'SELECT `oglas_id`,`naziv` FROM `deska` WHERE `mod_id`='.$_SESSION['mod_id'].';';
$result = mysqli_query($GLOBALS['conn'],$query);
$rows = mysqli_num_rows($result);
if($rows > 0){
$dropDown = '<select onclick="getSelected()" class="inputSelAds" id="ogSelect" name="ogSelect">';
while($row = mysqli_fetch_assoc($result)){
$dropDown = $dropDown.'<option value="'.$row['oglas_id'].'">'.$row['naziv'].'</option>';
}
$dropDown = $dropDown.'</select>';
}else{
$dropDown = '<select><option value=""></option></select>';
}
return $dropDown;}
答案 0 :(得分:0)
我对你的专栏<?php $id = $_POST['suggestion']; ?>
感到困惑。
这应该放入$id
POST变量suggestion
,这里没有定义(你可以用if(isset($_POST['suggestion'])){ /* ... */ }
来检查)。但是没有输入name="suggestion"
所以即使提交表单后,您也会收到未定义的索引错误。您希望在$id
中获得什么输入值?