2017-12-09 6 views
2
<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" /> 

アクションリンクをドロップダウンリストごとに変更するにはどうすればよいですか?

上記は、私は芸術、Commrenceや科学の選択に従って私のアクションリンクを変更したいフォームを述べました。つまり、デフォルトのPHPリンクには3つのストリームの情報がすべて含まれていますが、それぞれのデータベースを個別に作成し、あるフォームから検索可能にしたいと考えています。これを行う方法はありますか?

+0

を取得するために選択したオプションを取得しますそれを行うことができます... – GYaN

+0

this.form.actionには、必要なアクションですべてのオプションを追加できます。私は私のウェブサイトでこれをやっています。 –

答えて

0

Jqueryではなく、純粋なJavascriptを使用して、 yあなたはjquery` `で、私は願っていますOUには、フォームのアクションを指定するために、データ・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); 
 
    } 
 
}
<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>

1

あなたは以下のようなすべてのオプションでJavaScriptをthis.form.actionを追加することができます。

<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> 

フォームを送信すると、アクションはあなたが選択オプションで追加と交換されますが形成します。

あなたはまた、以下のようにパラメータを指定して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> 
関連する問題