Agent_id =があるアクションにオプション選択で値を渡す必要があります
誰でも助けることができますか?
<form method="POST" action="index.php?action=contact_agent&agent_id=">
<select>
<option value="1">Agent Homer</option>
<option value="2">Agent Lenny</option>
<option value="3">Agent Carl</option>
</select>
JQueryやJavascriptを使用する必要はありません。
Selectのname
タグを使用し、フォームに仕事をさせます。
<select name="agent_id" id="agent_id">
@Shoaibが答えたように、jQueryやJavascriptは必要ありません。これは純粋なhtmlで簡単にできます!
<form method="POST" action="index.php?action=contact_agent">
<select name="agent_id" required>
<option value="1">Agent Homer</option>
<option value="2">Agent Lenny</option>
<option value="3">Agent Carl</option>
</select>
<input type="submit" value="Submit">
</form>
&agent_id=
あなたがそこにそれを必要としないので、フォームアクションから。name="agent_id"
選択へrequired
は、この選択が必要であることを示します。PHPを使用しているため、フォームをindex.php
キャッチできますagent_id
with $_POST
/** Since you reference action on `form action` then value of $_GET['action'] will be contact_agent */
$action = $_GET['action'];
/** Value of $_POST['agent_id'] will be selected option value */
$agent_id = $_POST['agent_id'];
このような単純なタスクの結論として、javascriptまたはjQueryを使用しないでください。あなたのコメントに答える@FelipeAlvarezへ
jQueryを使用:
html:
<form method="POST" name="myform" action="index.php?action=contact_agent&agent_id=" onsubmit="SetData()">
<select name="agent" id="agent">
<option value="1">Agent Homer</option>
<option value="2">Agent Lenny</option>
<option value="3">Agent Carl</option>
</select>
</form>
jQuery:
$('form').submit(function(){
$(this).attr('action',$(this).attr('action')+$('#agent').val());
$(this).submit();
});
javascript:
function SetData(){
var select = document.getElementById('agent');
var agent_id = select.options[select.selectedIndex].value;
document.myform.action = "index.php?action=contact_agent&agent_id="+agent_id ; # or .getAttribute('action')
myform.submit();
}
独自のコードを使用するだけで、選択タグの名前を追加できます
<form method="POST" action="index.php?action=contact_agent&agent_id=">
<select name="agent_id">
<option value="1">Agent Homer</option>
<option value="2">Agent Lenny</option>
<option value="3">Agent Carl</option>
</select>
その後、このようにアクセスできます
String agent=request.getparameter("agent_id");
POSTとGET応答の両方をキャッチしようとする代わりに、POSTに必要なものをすべて含めることができます。
あなたのコード:
<form method="POST" action="index.php?action=contact_agent&agent_id=">
<select>
<option value="1">Agent Homer</option>
<option value="2">Agent Lenny</option>
<option value="3">Agent Carl</option>
</select>
</form>
簡単になります:
<form method="POST" action="index.php">
<input type="hidden" name="action" value="contact_agent">
<select name="agent_id">
<option value="1">Agent Homer</option>
<option value="2">Agent Lenny</option>
<option value="3">Agent Carl</option>
</select>
</form>
その後、index.phpで-これらの値が入力されます
$_POST['action'] // "contact_agent"
$_POST['agent_id'] // 1, 2 or 3 based on selection in form...