2013-08-15 2 views
0

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

<label class="radio"> 
    <input type="radio" name="gender" id="optionsRadios1" value="female">Female 
</label> 
<label class="radio"> 
    <input type="radio" name="gender" id="optionsRadios2" value="male">Male 
</label> 

Я отправляю данные через jquery ajax. Странно то, что пост аль входов показывает

[пол] => мужчину, если вы отправите форму ни с одной из 2-х вариантов проверили

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

* Я хочу, чтобы вернуть ошибку, если не выбран ни один вариант, так что заставляет пользователя выбрать правильный пол ..

+0

проблема, очевидно, в вашем коде ajax, а не в HTML выше. – developerwjk

ответ

0

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

<input type="radio" name="gender" id="optionsRadios1" value="female" checked> Female 

Edit:
Напишите свою собственную функцию представить, и привязать его к OnClick вашей кнопки отправки (в)

function submit() { 
    if (!$("#optionsRadios1").prop("checked") && !$("#optionsRadios2").prop("checked")) { 
    alert("please select a gender"); 
    } 
    else { 
    //Whatever you do to submit 
    } 
} 
+0

это правда, но не то, что я хочу. Потому что я хочу заставить пользователя выбрать пол, поэтому, если ни один не выбран, я хочу вернуть сообщение об ошибке ... – r2get

+0

Можете ли вы просто написать свою собственную функцию onclick() и проверить там? См. Пример кода. –

0

Следующий код будет проверять вашу форму на стороне клиента Эта валидация будет разрешать только отправку формы, если выбран один из этих полей. Если ни один из переключателей не отправлен, он отобразит предупреждающее сообщение и остановит форму для перенаправления на action.php.

<form name='whatever' onsubmit='return validate();' method='POST' action='action.php'> 
    <label class="radio"> 
    <input type="radio" name="gender" id="optionsRadios1" onchange='validate()' value="female"> Female 
    </label> 
    <label class="radio"> 
    <input type="radio" name="gender" id="optionsRadios2" onchange='validate()' value="male"> Male 
    </label> 
    <input type='submit' value='submit'> 
</form> 

<script type='text/javascript'> 
    function validate(){ 
    var feObj=document.getElementById("optionsRadios1"); 
    var maleObj=document.getElementById("optionsRadios2"); 
    if (feObj.checked){ 
     return true; 
    } 
    if (maleObj.checked){ 
     return true; 
    } 
    alert ("Please select a gender"); 
    return false; 
    } 
</script> 
+0

есть .. это невозможно с jquey? .. но точка в том .. нет другого способа кроме javascript? – r2get

+0

также, если пользователь ничего не выбирает .. все еще неправильный var будет опубликован .. im ищет способ опубликовать пустой, чтобы я мог видеть, что пользователь не выбрал вариант - например, на www.facebook.com – r2get

+0

Да, вы можете проверить код как на стороне сервера, так и на стороне клиента. Вы можете проверить на стороне клиента, используя javascript/jquery на стороне сервера, используя php или другой язык сценариев на стороне сервера. для проверки вышеуказанного кода с jquery просто замените maleObj.checked или feObj.checked с $ ("# optionsRadios2"). Attr ('checked'). Чтобы проверить, не выбрано ли ни одно из параметров радио, вам нужно будет проверить всю форму. – dishwasherWithProgrammingSkill

Смежные вопросы