我已经看了这个网站三天了。我承认我是使用javascript的新手。但我使用了许多不同的解决方案,但没有一个有效。请帮忙。
我正在尝试做一些应该简单的事情:将用户选择的国家/地区从html5页面上的下拉框保存到隐藏的帖子变量(使用javascript onchange。)这是在同一表单上的帖子数组中使用用于将输入发送到mysql数据库的php操作。这是我的代码:
隐藏的帖子变量不会更新。从那里我无法测试代码逻辑。但我的onchange代码来自这个网站,并且假设可以工作。
参考文献:
<script type="text/javascript" src="../../js/jquery-2.1.4.min_prod.js"> </script>
<script type="text/javascript" src="../../js/respond.min.js"> </script>
<script type="text/javascript" src="../../js/bootstrap.min.js"> </script>
表单信息:
<form name="form1" method="post" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" />
</form>
表单元素
$query="SELECT * from country ";
$query=$query."ORDER BY country asc";
$data = mysqli_query($conn,$query);
//or die('could not connect to db:'. mysqli_connect_error() );
mysqli_error($conn);
If ($data) {
echo '<select id="country" onchange="send_name(this)">';
echo '<option value="204">United States</option>';
while ($row = mysqli_fetch_array($data)) {
echo '<option value="'.$row['country_id'].'">'.$row['country'].'</option>';
}//while
echo '</select>';
}//if
mysqli_close($conn);
?>
<input type="hidden" id="c_php_value" name="c_php_value" value="">
的Javascript
function send_name(selectObjectI) {
var value = selectObjectI.value;
$.ajax({
type: "POST",
url: "http://localhost/php/protected/form_addnews.php",
data:{c_php_value: value}
});
发布提交代码
$country_id1 = trim($_POST['c_php_value']);
答案 0 :(得分:0)
感谢utube上的编码人员,我会说德语,我发现我不需要javascript,ajax或任何复杂的东西来完成我想要做的事情。
我只需要执行以下操作:
(1)添加名称=&#34;&#34;动态创建的SELECT标志(name =&#34; country_id2&#34;)。
(2)用户选择创建下拉框的输入。
(3)在设置表单提交后收集$ _POST。 ($ country_id = $ _POST [&#39; country_id2&#39;])
$data = mysqli_query($conn,$query);
//or die('could not connect to db:'. mysqli_connect_error() );
mysqli_error($conn);
If ($data) {
echo '<select name="country_id2" id="country_id2">';
echo '<option value="204">United States</option>';
while ($row = mysqli_fetch_array($data)) {
echo '<option value="'.$row['country_id'].'">'.$row['country'].'</option>';
}//while
echo '</select>';
}//if
mysqli_close($conn);