Простая форма, не отправляющая почтовые значения - PullRequest
0 голосов
/ 18 ноября 2018

Я видел здесь два других вопроса со схожими проблемами, но ни один из них не ответил на вопрос, который помогает заставить работать этот, а сама форма настолько проста, что я не могу представить, почему она не работает.Как вы можете видеть, это простое поле выбора.Один из других вопросов указывал, что ответом было имя = и метка, совпадающая с =, но эти вещи уже есть, так что ничего не поделаешь.

На самом деле, эта форма генерируется динамически (это одна из самых простых версий) и была в сети и работает в течение многих лет, поэтому я не понимаю, почему она вдруг ничего не публикует!Это заставляет форму перезагружаться, когда сделан другой выбор, но не предоставляет значение идентификатора или любые другие значения публикации.Кто-нибудь видит что-то, что я пропустил, или основы форм как-то изменились?

<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 голосов
/ 18 ноября 2018

Я смотрел на это весь день без какого-либо успеха, но затем, как только я разместил вопрос в качестве последнего средства, я обнаружил проблему, которая не имела ничего общего с формой.Была вызвана другая функция, которая проверяет, включен ли 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...