Действие формы Chage на основе пользовательского ввода - PullRequest
0 голосов
/ 02 декабря 2010

У меня есть эта форма:

<form action"url.aspx">
</form>

Пользователь должен иметь возможность выбрать за или против. Если пользователь выбирает pro, он должен выбрать action = "url1.aspx". Если пользователь выбирает pro, он должен выбрать action = "url2.aspx".

Ответы [ 4 ]

1 голос
/ 02 декабря 2010

Лучше всего всегда публиковать на одной и той же странице, и позволить этой странице решать, какой код выполнять, основываясь на выборе «pro» или «nonpro».Преимущество: меньше ошибок.Я думаю, что ваша форма должна всегда функционировать должным образом, даже без JavaScript, хотя вы можете использовать JavaScript, чтобы сделать ее более удобной.Используя JavaScript, вы позволите пользователю в некоторых случаях публиковать данные на неправильной странице.

0 голосов
/ 02 декабря 2010

Я согласен с ответом Чарлигрифера. Это самый простой и эффективный способ.

Я не согласен с мнением GolezTrol о том, что "будет всегда лучше всего публиковать на одной и той же странице и ..." Только если вам нужно выполнить какое-то обычное действие постобработки, тогда может быть но все же вам лучше вызвать для этого многократно используемую функцию. Как новичок, вы можете придерживаться того, что вам кажется легким, но это не значит, что оно лучше.

Перенаправление на неправильную страницу
Я не согласен с этим еще раз: «Используя JavaScript, вы позволите пользователю при некоторых обстоятельствах размещать данные на неправильной странице».
Если он переходит на неправильную страницу из-за вашей логической ошибки (в некоторых сложных случаях, о которых вы не думали должным образом), то это ваша ошибка, и вы просто будете скрывать свою ошибку, игнорируя javascript, и будет больше задержек из-за перенаправления нескольких страниц, ненужные загрузки страниц, которых можно избежать, и т. д.

Очень важно следить за правильной проверкой всех параметров во всех точках входа (проверка типов переменных, обязательная проверка параметров). Это будет гарантировать безопасность в случае публикации на неправильных страницах, если это вообще произойдет.

При отсутствии JavaScript
Все современные браузеры поддерживают Javascript. Если пользователь выключил, сообщение может отображаться, но это произойдет в меньшем количестве случаев. Пользователям может быть показано сообщение «Для лучшего опыта / простоты использования включите JavaScript».
Наилучшим подходом здесь было бы сохранение условия для нормальной работы формы с использованием логики на стороне сервера (отправка по тому же URL-адресу, а затем перенаправление). Так что обычно и в большинстве случаев пользователи получают лучший интерфейс.

Очень часто среди начинающих практикуют игнорировать такие вещи или следовать в одних местах, а не в других. Правильное и максимально возможное повторное использование кода является ключом к решению большинства проблем. Да, для подготовки наиболее повторно используемого кода требуется время, но затраченное здесь время всегда окупается.

0 голосов
/ 02 декабря 2010

Вы можете манипулировать атрибутом «action» формы с помощью JavaScript / jQuery

$( your-form ).attr( 'action', 'url1.aspx' );
$( your-form ).attr( 'action', 'url2.aspx' );

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

0 голосов
/ 02 декабря 2010

вы можете скрывать и показывать div в зависимости от вашего выбора, это будет самый простой способ сделать это

...