Html 访问';这不是表格的一部分
在我的html中,我有一个组合框,其中列出了所有可用的Html 访问';这不是表格的一部分,html,forms,form-submit,Html,Forms,Form Submit,在我的html中,我有一个组合框,其中列出了所有可用的usertypes,然后输入根据用户在组合框上选择的内容而变化,因此您可以看到我有我的onchange 但我的问题是如何访问所选组合框的值?即使它不是表单的一部分,也可以获取其选定值吗?我已经尝试过只有一种形式,那就是 <form action="" name="form1" method="post"> <select id="usertype" name="usertype" class="dropdown-select
usertypes
,然后输入根据用户在组合框上选择的内容而变化,因此您可以看到我有我的onchange
但我的问题是如何访问所选组合框的值?即使它不是表单的一部分,也可以获取其选定值吗?我已经尝试过只有一种形式,那就是
<form action="" name="form1" method="post">
<select id="usertype" name="usertype" class="dropdown-select" onfocus="getPrevious()" onchange="set()" >
<option value="1" selected="selected">Chairperson</option>
<option value="2">Dean</option>
<option value="3">Faculty</option>
<option value="4">Staff</option>
<option value="6">Admin</option>
</select>
<div id="formpage_Chairperson" style="visibility: visible; display: block;">
<input type="text" value="" name="A" />
<input type="text" value="" name="B" />
<input type="text" value="" name="C" />
<input type="text" value="" name="D" />
<input type="text" value="" name="E" />
<input type="text" value="" name="F" />
<input type="Submit" value="Submit Form" name="submitForm" />
</div>
<div id="formpage_Chairperson" style="visibility: hidden; display: none;">
<input type="text" value="" name="A" />
<input type="text" value="" name="B" />
<input type="text" value="" name="C" />
<input type="Submit" value="Submit Form" name="submitForm" />
</div>
</form>
这是用于处理组合框的onchange事件的Javascript:
var prev = ""
function pagechange(topage) {
var page;
if (prev.length > 0) {
page = document.getElementById('formpage_' + prev);
if (page)
page.style.visibility='hidden';
page.style.display = 'none';
}
page = document.getElementById('formpage_' + topage);
if (!page)
return false;
page.style.visibility='visible';
page.style.display = 'block';
prev = topage;
return true;
}
function set(){
var e = document.getElementById("usertype");
var selection = e.options[e.selectedIndex].text;
pagechange(selection);
}
不知道你想如何“访问”它。我假设您的意思是使用其余的表单数据,因此您可以执行以下操作:
function pagechange(topage) {
var page;
if (prev.length > 0) {
page = document.getElementById('formpage_' + prev);
if (page) {
page.style.visibility='hidden';
page.style.display = 'none';
}
page = document.getElementById('formpage_' + topage);
// create hidden input field and append to form
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "page");
input.setAttribute("value", topage);
page.appendChild(input);
// end of changes
if (!page)
return false;
page.style.visibility='visible';
page.style.display = 'block';
prev = topage;
}
return true;
}
另外,您的if(prev.length>0)
上缺少一个结束括号,因此我在返回true之前将其关闭代码>。您可能需要根据您的逻辑进行调整
希望这能让你接近它。不确定你想如何“访问”它。我假设您的意思是使用其余的表单数据,因此您可以执行以下操作:
function pagechange(topage) {
var page;
if (prev.length > 0) {
page = document.getElementById('formpage_' + prev);
if (page) {
page.style.visibility='hidden';
page.style.display = 'none';
}
page = document.getElementById('formpage_' + topage);
// create hidden input field and append to form
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "page");
input.setAttribute("value", topage);
page.appendChild(input);
// end of changes
if (!page)
return false;
page.style.visibility='visible';
page.style.display = 'block';
prev = topage;
}
return true;
}
另外,您的if(prev.length>0)
上缺少一个结束括号,因此我在返回true之前将其关闭代码>。您可能需要根据您的逻辑进行调整
希望这能让你接近。如果不使用javascript在表单提交中获取它,这是不可能的。为什么不让它成为表单的一部分?@cale_b我不能这样做,先生,因为我有一个javascript来处理组合框。因此,当您将其作为这些表单的一部分时,javascript将无法正常工作。我希望你能找到我。@Harvey Javascript是最好的选择。OnSelectedChange或类似的东西获取值,然后您可以将该值填充到隐藏的输入变量或其他东西中。处理组合框的JS是什么样子的?也许这是一个简单的问题,为什么它不能在表单中工作。@fletch我已经编辑了我的问题,并包含了Javascript代码。如果不在表单提交时使用一些Javascript来获取它,这是不可能的。为什么不让它成为表单的一部分?@cale_b我不能这样做,先生,因为我有一个javascript来处理组合框。因此,当您将其作为这些表单的一部分时,javascript将无法正常工作。我希望你能找到我。@Harvey Javascript是最好的选择。OnSelectedChange或类似的东西获取值,然后您可以将该值填充到隐藏的输入变量或其他东西中。处理组合框的JS是什么样子的?也许这是一个简单的问题,为什么它不能在表单中工作。@fletch我已经编辑了我的问题,并包含了Javascript代码。