我是javascript的初级程序员。 所以我有很多问题。今天,我想知道select-option值如何传输到html表单动作值。 我的脚本和相关的html代码如下所示。
<script
......
var selectedLang3 = document.getElementById('lang3').value;
var selectedPart = document.getElementById('part').values;
xmlhttp.open("GET","hint_"+selectedLang3+"_"+selectedPart+".php?q="+str,true);
xmlhttp.send();
}
</script>
<h5>Choose your language and the part that you want to know</h5>
<select name="lang3" id="lang3">
<option value="co">한국어</option>
<option value="en">English</option>
<option value="af">Afrikaans</option>
....
</select>
我在这个html代码中有一个表单,因为我可以将我的输入数据发送到php-MySQL查询。 但是在javascript代码之上,我必须编写上面的语言select-option才能在上面的javascript代码中使用。所以我想在表单代码中重用语言select-option值。 我的表单代码如下所示。
<form action="query_<script var selecetedLang3; /script>.php" method="POST"
class="query" id="query">
<h5> Subject </h5>: <select name="subject2" id="subject2" size="1" style="width:45%;" >
<option value="a">Infection : bacteria and virus </option>
<option value="b">Infection : virus, fungus and etc</option>
...
</select>
<input type="text" name="search" onkeyup="showHint()">
<input type="text" name="search1" onkeyup="showHint()">
---
<input type="submit" value="submit">
</form>
这里简单的代码省略了showHint
javascript。
上面的代码,我怎么写action="???"
?
拜托,给我一个建议。
谢谢你的关注。
答案 0 :(得分:1)
1-首先,您可以从以下选择元素中读取value
:
var lang3 = document.getElementById("lang3");
xmlhttp.open("GET","hint_"+ lang3.value + "_"+selectedPart+".php?q="+str,true);
2-并且能够POST
您的表单,并将其中的选择值作为您要发送的表单的一部分,您应该使用您的首选名称创建hiddenfield
,并将select节点值绑定到其值。
将其添加到html部分:
<input type="hidden" name="lang" />
并在js part中执行此操作:
var lang3 = document.getElementById("lang3");
lang3.onchange = function(){
document.querySelector("input[name=lang]").value = this.value;
}
不要忘记使用此解决方案,如果您想将选择值与表单一起发送。
3-您的最后一点,如何更改表单中的操作,以便您可以根据所选语言将表单发送到其他php ,首先,您不需要使用type=submit
按钮,使用一个简单的按钮,然后执行以下操作:
Html部分:
<input type="button" onclick='submit_form()' />
JS部分:
function submit_form() {
var lang3 = document.getElementById('lang3');
if(!lang3.value) alert("please select your language!");
var queryForm = document.getElementById('query');
queryForm.action = "query_" + lang3.value + ".php";
queryForm.submit();
}
这是你的工作DEMO。