Php 将表单post与多个下拉列表JS重新加载相结合

Php 将表单post与多个下拉列表JS重新加载相结合,php,javascript,post,drop-down-menu,Php,Javascript,Post,Drop Down Menu,所以基本上我有一个表单,可以向数据库提交一篇新文章 提交后,页面将验证条目并显示错误,并使用$\u POST重新填充字段,以允许用户修复错误。这个很好用。代码如下: <form name="form1" method="post" action="newArticle.php?action=add"> <p>&nbsp;Title:<br /> <input name="title" type="text" id="tit

所以基本上我有一个表单,可以向数据库提交一篇新文章

提交后,页面将验证条目并显示错误,并使用
$\u POST
重新填充字段,以允许用户修复错误。这个很好用。代码如下:

<form name="form1" method="post" action="newArticle.php?action=add">
    <p>&nbsp;Title:<br />
        <input name="title" type="text" id="title" size="30" 
                value="<?=$HTTP_POST_VARS['title']?>">
    </p>
    <p>&nbsp;Tagline:<br />
        <input name="tagline" type="text" id="tagline" size="30" 
                value="<?=$HTTP_POST_VARS['tagline']?>">
    </p>

标题:

正如评论中所说,当您使用
self.location=
更改页面位置时,表单中的所有数据都将丢失


而不是
self.location='newArticle.php?country='+val+'®ion='+val2
为什么不使用
form.submit()

发布表单呢?正如评论中所说,当您使用
self.location=
更改页面位置时,表单中的所有数据都会丢失


而不是
self.location='newArticle.php?country='+val+'®ion='+val2
为什么不直接使用
form.submit()
发布表单?

您正在更改self.location,它会重新加载整个页面。相反,如果在上一个下拉列表中选择了某个内容,那么使用ajax和更智能的处理(只加载后一个下拉列表的值)如何?您正在更改self.location,它将重新加载整个页面。相反,如果在前一个下拉列表中选择了某个内容,那么使用ajax和更智能的处理(只加载后一个下拉列表的值)如何?
<? //////////        Starting of first drop downlist /////////
echo "<select name='country' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
while($noticia2 = mysql_fetch_array($quer2)) { 
    if($noticia2['id']==@$country){
        echo "<option selected value='$noticia2[id]'>$noticia2[name]</option>"."<BR>";}
    else{
        echo  "<option value='$noticia2[id]'>$noticia2[name]</option>";}
}
echo "</select>";
//////////////////  This will end the first drop down list ///////////

//////////        Starting of second drop downlist /////////
echo "<select name='region' onchange=\"reload3(this.form)\"><option value=''>Select one</option>";
while($noticia = mysql_fetch_array($quer)) { 
    if($noticia['id']==@$region){
        echo "<option selected value='$noticia[id]'>$noticia[name]</option>"."<BR>";}
    else{
        echo  "<option value='$noticia[id]'>$noticia[name]</option>";}
}
echo "</select>";
//////////////////  This will end the second drop down list ///////////


//////////        Starting of third drop downlist /////////
echo "<select name='resort' ><option value=''>Select one</option>";
while($noticia = mysql_fetch_array($quer3)) { 
    echo  "<option value='$noticia[id]'>$noticia[name]</option>";
}
echo "</select>";
//////////////////  This will end the third drop down list ///////////?>
<script language=JavaScript>
    function reload(form)
    {
        var val=form.country.options[form.country.options.selectedIndex].value; 
        self.location='newArticle.php?country=' + val ;
    }
    function reload3(form)
    {
        var val=form.country.options[form.country.options.selectedIndex].value; 
        var val2=form.region.options[form.region.options.selectedIndex].value; 

        self.location='newArticle.php?country=' + val + '&region=' + val2 ;
    }
</script>