Как не отправить форму, если не установлен переключатель - PullRequest
2 голосов
/ 21 июля 2011

Я использую PHP для создания формы HTML.
Форма имеет 3 переключателя и кнопку отправки.
В исходном состоянии формы ни одна из переключателей не отмечена.
Я хочу, чтобы форма не отправлялась, если не выбрана ни одна из переключателей.
Есть ли способ сделать это? Я приложил часть кода PHP.

    for($i=0; $i<$nChoices; $i++) {
$Text='<input type="radio" name="answer" value="' . $IdChoices[$i] . '"';
$Text.=">  ". $Choices[$i] . "</input>";
$choiceoutput.= $Text."<br /><br />";
}

Спасибо!

Ответы [ 3 ]

3 голосов
/ 21 июля 2011

Этот javascript может использоваться для простой проверки на стороне клиента. Это не считается безопасным для проверки только на стороне клиента но если ваша цель - увидеть, действительно ли пользователь выбрал значение, это подойдет. В противном случае дальнейшая проверка должна выполняться в вашем php-скрипте.

<script type="text/javascript">
function validate()
{
  var retval = false;
  for (var i=0; i < document.myForm.r.length; i++)
  {
    if (document.myForm.r[i].checked)
    {
      retval = true;
    }
  }  

  return retval;
}
</script>

Простая форма для приведения его в действие.

<form name="myForm" action="page.php" onsubmit="return validate()" method="post">
<input type="radio" id="r">
<input type="radio" id="r">
<input type="submit" value="ok">
</form>
2 голосов
/ 21 июля 2011

Вы должны использовать проверку javascript, перехватывать коммит и проверять, отмечена ли какая-либо кнопка. Но помните, что вы должны проверять и на стороне сервера, потому что JS может быть опущен.

Или, если вам не нужна поддержка широкого браузера - HTML5 поддерживает проверку ограничений формы (https://developer.mozilla.org/en/HTML/HTML5/Forms_in_HTML5)

0 голосов
/ 21 июля 2011
<input type="submit" value="Submit" name="B1" disabled="disabled">

Выше приведен пример кнопки Отключить отправку.Вам придется использовать JavaScript, чтобы удалить атрибут disabled = "disabled" из кнопки «Отправить», как только пользователь установит флажки, которые вы хотите, чтобы он проверял.

http://www.techchorus.net/disable-and-enable-input-elements-div-block-using-jquery

чтение, которое поможет вам понять логику намного лучше!:)

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