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

在我的html中,我有一个组合框,其中列出了所有可用的
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代码。