我是HTML和PHP的新手,想知道是否有人可以帮我解决问题...我正在尝试编写一个表单,从一个菜单或另一个菜单中提交选择,并且取决于选择哪个将数据发送到两个不同的PHP页面之一。
<form id="form1" method="post" action="">
<label for="SubjectID">Text Books by Subject</label>
</p>
<p>
<select "name="SubjectID" id="SubjectID">
<?php do { ?>
<option value="<?php echo $row_rsSubject['SubjectID']?>"><?php echo $row_rsSubject['SubjectName']?></option>
<?php } while ($row_rsSubject = mysql_fetch_assoc($rsSubject));
$rows = mysql_num_rows($rsSubject);
if($rows > 0) {
mysql_data_seek($rsSubject, 0);
$row_rsSubject = mysql_fetch_assoc($rsSubject);
} ?>
</select>
</p>
<p>
——— OR ———
</p>
<p>
<select name="CourseID" id="CourseID">
<?php do { ?>
<option value="<?php echo $row_rsCourse['CourseID']?>"><?php echo $row_rsCourse['CourseID']?></option>
<?php } while ($row_rsCourse = mysql_fetch_assoc($rsCourse));
$rows = mysql_num_rows($rsCourse);
if($rows > 0) {
mysql_data_seek($rsCourse, 0);
$row_rsCourse = mysql_fetch_assoc($rsCourse);
} ?>
</select>
</p>
<p>
<label for="CourseID">Text Books by Course</label>
</form>
因此,操作应该是(取决于用户从哪个菜单中选择)表单提交到subject.php或course.php,而我无法弄清楚如何使用单个提交按钮执行此操作。任何人都可以帮助我吗?
答案 0 :(得分:1)
首先设置onchange事件来选择:
<select name="CourseID" id="CourseID" onchange='myFunc(this)'>
然后:
<script>
function myFunc(element){
// set the form action depends on option chosen
// element.setAttribute('action', 'yourPageLink' );
}
</script>
答案 1 :(得分:0)
当用户更改其选择时,您可以使用javascript更新action
属性,并将其引导至相关页面。
否则,为什么不提交单个功能并根据用户选择调用相关功能?
答案 2 :(得分:0)
老实说,我会使用jquery的$ .post来做到这一点。据我所知,你不能用直接的html做到这一点,并且在页面加载之前执行php,这样就没有用了。使用JQuery,您可以为按钮设置操作以调用函数。然后你的函数可以检查select的值并将正确的url传递给$ .post函数。
您可以在此处阅读有关该特定jquery函数的内容:http://api.jquery.com/jQuery.post/
如果你不熟悉JQuery,如果你对JavaScript很好的话,只需要一点点阅读就可以轻松使用。
答案 3 :(得分:0)
为什么表单中没有一个单选按钮,其中发布的表单值由中央PHP表单处理程序处理?这样,根据单选按钮上输入的内容,您可以根据需要处理请求。
这可能不是您正在寻找的答案,但我不清楚您是否希望用户能够更改目的地或什么。