简单表单不提交过帐值

时间:2018-11-18 03:17:40

标签: forms post

我在这里看到了另外两个具有类似问题的问题,但是都没有回答能够帮助使这一问题生效的问题,并且表单本身是如此基础,以至于我无法想象为什么它不起作用。如您所见,这是一个简单的自我提交选择框。其他问题之一表明答案是具有name =且标签具有for =匹配,但这已经有了这些东西,因此没有帮助。

实际上,此表单是动态生成的(这是它的最简单的版本之一),并且已经联机并且已经使用了很多年,所以我对为什么它突然什么都不发布感到迷惑!当做出其他选择但不提供ID值或任何其他发布值时,它将导致重新加载表单。有人看到我想念的东西吗?还是表格的基础有所改变?

<form id="Search" method="post" name="search" action="/admin/adminform.php">
    <fieldset>
        <legend>Select Entry</legend>
        <p><label for="ID">Select</label>
        <select name="ID" id="ID" onchange="this.form.submit()">
        <option value=""></option>
        <option value="4">Entry 4</option>
        <option value="2">Entry 2</option>
        <option value="1">Entry 1</option>
        <option value="8">Entry 8</option>
        <option value="6">Entry 6</option>
        <option value="9">Entry 9</option>
        <option value="5">Entry 5</option>
        <option value="3">Entry 3</option>
        </select>

        <noscript>
        <input type="submit" value="Get Selected Entry" name="Search">
        </noscript>
    </fieldset>
</form>

1 个答案:

答案 0 :(得分:0)

我整天都在看这本书,没有任何成功,但是当我把问题作为不得已而为之时,我立即发现了与表格无关的问题。调用了另一个功能,用于测试是否启用了JavaScript,该功能通过提交明显超出此功能的帖子来进行测试。只需在其周围放一个条件,以便它只运行一次即可解决问题表单!作为参考,这里是导致问题的函数,并在最外面的条件下对其进行了排序。

function IsJavaScript() {
    if (!isset($_SESSION['JSEnabled'])) :
        if (isset($_POST['jstest'])) :
            return TRUE;
        else :
            echo '<form name="jsform" id="jsform" method="post" style="display:none">';
            echo '<input name="jstest" type="text" value="true" />';
            echo '<script language="javascript">';
            echo 'document.jsform.submit();';
            echo '</script>';
            echo '</form>';
            return FALSE;
        endif;
    endif;
}