Javascript для формы на стороне сервера? - PullRequest
0 голосов
/ 14 июля 2009

Вопрос возникает из обсуждения с Кристофом в моем последнем вопросе 'HTML: target = ”_ blank” для раскрывающегося списка' и альтернативного метода Эндрю.

Проблема: для запуска кода на стороне сервера, потому что некоторым пользователям не хватает поддержки Javascript. Ситуация выглядит как здесь.

Некоторые предложения:

Кристоф Рекомендация:

<form action="path-to-redirection-script" method="GET" target="_blank"
 onsubmit="window.open(this.elements['foo'].value); return false;">
 <select name="foo" size="1">
  <option value="http://google.com">google</option>
 </select>
 <input type="submit" value="go">
</form>

Альтернативный метод Эндрю:

<form onsubmit="this.js_enabled.value=1;return true;">
    <input type="hidden" name="js_enabled" value="0">
    <input type="submit" value="go">
</form>

Вопрос: Как бы вы работали со сценариями на стороне сервера в случае формы?

Ответы [ 2 ]

2 голосов
/ 14 июля 2009

На самом деле, это зависит от языка сервера, который вы собираетесь использовать.

Но это так же просто, как считывание значений в значениях POST и GET, которые вам предоставляет форма.

т.е. PHP:

if($_POST["js_enabled"] == 0)  
{  
   doSomething(); // Redirecting   
}

Но не забудьте проверить все значения.

удачи,
Rayt

Редактировать

Вот, пожалуйста (довольно хороший ответ)

Как обрабатываются переменные POST и GET в Python?

1 голос
/ 14 июля 2009

Нет необходимости в дополнительном коде или проверке сценариев на стороне сервера: из-за return false в обработчике onsubmit, form не будет отправлено, если обработчик будет выполнен!

Возвращение false из обработчиков событий подавляет действие по умолчанию, связанное с событием, так же, как и вызов event.preventDefault() (event.returnValue = false в IE).

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