我需要将选项选择中的值传递给我有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>
答案 0 :(得分:25)
您不必使用jQuery或Javascript。
使用选择的name
标记,让表单完成它的工作。
<select name="agent_id" id="agent_id">
答案 1 :(得分:9)
就像@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
$_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回复您的评论
答案 2 :(得分:6)
使用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();
}
答案 3 :(得分:3)
您只需使用自己的代码,但可以为select标记添加名称
<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");
答案 4 :(得分:3)
而不是尝试捕获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...