Убедитесь, что форма никогда не отправляется без использования javascript или jquery - PullRequest
0 голосов
/ 26 января 2011

У меня есть ситуация, когда я использую пользовательский плагин jQuery для захвата отправки формы.Данные в форме затем отправляются через междоменный вызов jsonp на другой сервер.Эти данные невозможно отправить на сервер, на котором размещена форма.

Моя проблема заключается в том, что если на клиенте отключен JavaScript, мой плагин не будет препятствовать отправке формы.Как я могу гарантировать, что форма никогда не отправляется, даже если не включен javascript?

Один из вариантов, который я рассмотрел, - это использование javascript для записи тегов формы.примените плагин к форме

$('#myForm').myplugin();

Хотя это сработало бы, это кажется довольно хакерским, учитывая, что сторонние клиенты будут использовать мой плагин, и я бы не стал диктовать, чтобы их формы были написанысюда.Другая возможность, если бы мне пришлось пойти по этому пути, это заставить их подключить мой плагин к div, содержащему форму, а затем автоматически внедрить теги формы вокруг div и продолжить как обычно.Что-то говорит мне, однако, должен быть более легкий путь.

Ответы [ 4 ]

1 голос
/ 26 января 2011

Может быть, я полностью упускаю то, что вы пытаетесь достичь. Но вы не можете просто НЕ использовать: тип ввода = "отправить" значение = "отправить форму" /

Вместо этого используйте: input type = "button" action = "myValidate ();" значение = "Отправить форму" /

Судя по всему, вы не хотите, чтобы кто-либо без Javascript мог отправить форму. Поэтому я думаю, что это будет легким решением.

1 голос
/ 26 января 2011

, если вы никогда не собираетесь отправлять стандартную форму, тогда полностью исключите теги <form>, заменив их тегами <DIV>.Вам нужно всего лишь связать отправку с любым действительным элементом, таким как span.и сделать $('#myDiv').myPlugin();

0 голосов
/ 26 января 2011

Мое решение было бы ... не ломаться, если Javascript отключен. Разместите скрипт на своем сервере, который обрабатывает случаи, когда форма отправляется. Затем этот скрипт отправляет запросы на сторонний сервер и отправляет соответствующий ответ пользователю. Это, вероятно, будет включать в себя намек на то, что Javascript повысит их удовольствие от вашего сайта.

0 голосов
/ 26 января 2011
<form onSubmit="return false">

Не уверен, что это будет работать, если JavaScript отключен ...

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