<form action="result.php" method="POST">
<select name="strm">
<option disabled="disabled" selected="selected" value="">Select Your Stream</option>
<option value="ARTS">Arts</option>
<option value="COMMERCE">Commerce</option>
<option value="SCIENCE">Science</option>
</select>
<input maxlength="4" minlength="4" name="rollcode" oninput="setCustomValidity('')" oninvalid="this.setCustomValidity('Enter your Center Code')" placeholder="Center Code" required="" type="text" />
<input maxlength="5" minlength="5" name="rollno" oninput="setCustomValidity('')" oninvalid="this.setCustomValidity('Enter your Roll No')" placeholder="Roll No" required="" type="text" />
<input type="submit" value="Get Result" />
上面提到了一个表格,我希望根据艺术,社会或科学的选择改变我的行动链接。换句话说,现在默认的php链接包含所有3个流的信息,但我想为每个创建单独的数据库并从一个表单中搜索。有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用以下所有选项添加this.form.action
JavaScript:
<form action="result.php" method="POST">
<select name="strm">
<option selected="selected" value="">Select Your Stream</option>
<option onclick="javaScript: this.form.action='arts.php';" value="ARTS">Arts</option>
<option onclick="javaScript: this.form.action='commerce.php';" value="COMMERCE">Commerce</option>
<option onclick="javaScript: this.form.action='science.php';" value="SCIENCE">Science</option>
</select>
当您提交表单时,表单操作将替换为您在select选项中添加的表单。
你也可以发送像result.php这样的常见动作,参数如下:
<form action="result.php" method="POST">
<select name="strm">
<option selected="selected" value="">Select Your Stream</option>
<option onclick="javaScript: this.form.action='result.php?title=arts';" value="ARTS">Arts</option>
<option onclick="javaScript: this.form.action='result.php?title=commerce';" value="COMMERCE">Commerce</option>
<option onclick="javaScript: this.form.action='result.php?title=science';" value="SCIENCE">Science</option>
</select>
您也可以通过以下方式使用JQuery:
<form action="result.php" method="POST" name="streamForm" id="streamForm">
<select name="strm" id="strm">
<option selected="selected" value="">Select Your Stream</option>
<option value="ARTS">Arts</option>
<option value="COMMERCE">Commerce</option>
<option value="SCIENCE">Science</option>
</select>
Jquery代码:
<script type="text/JavaScript">
$("#strm").change(function() {
var action = $(this).val() == "ARTS";
$("#streamForm").attr("action", "arts.php");
});
</script>
答案 1 :(得分:0)
使用纯Javascript,而不是Jquery,
我发现你可以使用data-action属性来指定表单的操作,然后使用elem.options [elem.selectedIndex]
我们获取所选的选项以便随后获得data-action
属性
var select = document.getElementById('actions');
select.onchange=setNewAction;
function setNewAction(event) {
var elem = event.target;
if(!elem.value) alert('Please Select One');
else {
elem.form.action = elem.options[elem.selectedIndex].getAttribute('data-action');
console.log(elem.form.action);
}
}
&#13;
<form action="result.php" method="POST">
<select name="strm" id="actions">
<option disabled="disabled" selected="selected" value="">Select Your Stream</option>
<option value="ARTS" data-action="arts.php">Arts</option>
<option value="COMMERCE" data-action="commerce.php">Commerce</option>
<option value="SCIENCE" data-action="science.php">Science</option>
</select>
</form>
&#13;