如何通过javascript在表单操作中接收select-option值?

时间:2014-02-09 11:46:07

标签: javascript html

我是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="???"
拜托,给我一个建议。 谢谢你的关注。

1 个答案:

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