Тип ввода = изображение "Вкл" без события onclick - PullRequest
0 голосов
/ 07 октября 2009

У меня есть форма с типом ввода = изображение. Раньше в его клике было подтверждение, которое возвращало истину / ложь, разрешая / останавливая отправку формы. Я недавно «обновился» до немодального диалога с обработчиком обратного вызова.

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

Я могу использовать скрытое поле со старым именем и включить его, чтобы обойти эту проблему, но это кажется грязным. Что было бы хорошо, если бы я мог «включить вход», не вызывая onclick (рекурсивная катастрофа). Может быть, не катастрофа, но не сексуальная. Я пытался установить значение входного на вкл, но это не похоже на сообщение.

Есть идеи? Постскриптум Я не использую .NET, поэтому решения с участием ASP.NET не будут применяться: - (

Я добавляю пример кода. При нажатии Foo !, вы заметите, что Foo.x = 0 и Foo.y = 0 в адресной строке. Нажав на бар, вы ничего не получите. Я хотел бы иметь возможность разместить панель на форме внутри BarCallback.

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title></title>
    <script language="javascript" type="text/javascript">
        function Bar() {
            setTimeout(BarCallback, 500);
            return false;
        }

        function BarCallback() {
            document.getElementById('TheForm').submit();
        }
    </script>
</head>
<body>
    <form method="get" id="TheForm">
        <input type="image" alt="Foo!" name="Foo" />
        <br />
        <input type="image" alt="Bar!" name="Bar" onclick="return Bar();" />
    </form>
</body>
</html>

1 Ответ

0 голосов
/ 08 октября 2009

Что было бы хорошо, если бы я мог «включить вход»

Не возможно, извините. Вы можете только добавить другой элемент управления, чтобы сделать вид, что это было (например, скрытый ввод или прямой параметр, если вы используете AJAX).

Я пытался установить значение для входа на, но это не похоже на сообщение.

Как это не удалось? Для ввода изображения вам необходимо включить суффиксы .x и .y к имени поля, поскольку именно это делают браузеры, чтобы передать щелчок изображения с позицией. например.

<input type="hidden" name="submit.x" value="1" />
<input type="hidden" name="submit.y" value="1" />

код ищет вход для включения ...

Не могли бы вы исправить код, чтобы убрать это требование?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...