2013-05-28 2 views
1

У меня есть следующий код:Отправить форму радио без яваскрипта

<div id="choices"> 
    <div> 
     <input type="radio" name="question-answers" id="question-answers-A" value="A" onclick="this.form.submit();" /> 
     <label for="question-answers-A">$c[0] </label> 
     </div> 
     <div> 
     <input type="radio" name="question-answers" id="question-answers-B" value="B" onclick="this.form.submit();"/> 
    <label for="question-answers-B">$c[1]</label> 
    </div> 
    </div> 

Форма представляется при выборе радио.

Есть ли способ сделать это без javascript? (без onClick)

Спасибо.

+2

Нет. Может быть, вы должны использовать обычный кнопку или даже ссылку представить. –

+0

вы можете отправить с jquery, хотя это почти javascript innit. Вот информация: http://stackoverflow.com/questions/1200266/submit-a-form-using-jquery – Supplement

+1

jQuery - это javascript (framework) – maazza

ответ

2

Почему не традиционный ввод?

<form> 
    <input type="radio" name="r1"> 
    <input type="radio" name="r2"> 
    <input type="submit" value="send" /> 
</form> 
The form is submitted when a radio is selected. 

Javascript является путь или обычный старый HTML, но он не будет представлен на изменения.

+1

dont upvote something this simple (but dont downvote либо) – maazza

+0

, поэтому мне нужно создать кнопку отправки 2 и сделать их с помощью CSS или так далее, как радиокнопка? – user2409399

1

Невозможно обнаружить, когда нажата кнопка переключения без использования Javascript.

+0

Я думаю, что ты прав. Это была моя лучшая идея, и она, похоже, не работает: http://jsfiddle.net/trevordixon/FNzhb/ –

+0

Вот отличный рабочий пример: http://jsfiddle.net/DCHaT/3/ –

0

Вы можете использовать PHP

<div class="field form-inline radio"> 
    <label class="radio" for="txtContact">Preferred Method of Contact</label> 
    <input class="radio" type="radio" name="contact" value="email" checked /> <span>Email</span> 
    <input class="radio" type="radio" name="contact" value="phone" /> <span>Phone</span> 
</div> 


    $contact = $_POST['contact'] 
//Will return either "email" or "phone". 
0

Используйте две кнопки отправки, и, возможно, их стиль, чтобы выглядеть как радио-кнопки. http://jsfiddle.net/trevordixon/FNzhb/3/

<form method="POST"> 
    <button type="submit" name="question-answers" value="A">A</button> 
    <button type="submit" name="question-answers" value="B">B</button> 
</form> 

<style> 
button { 
    border: none; 
    background: none; 
    padding-left: 10px; 
    cursor: pointer; 
} 

button:before { 
    content: ''; 
    display: block; 
    width: 12px; 
    height: 12px; 
    border: 1px solid #999; 
    border-radius: 50%; 
} 

button:active:before { content: '•'; } 
</style> 
1

Вот пример получения его на работу без Javascript http://jsfiddle.net/DCHaT/8/

Вы полагаетесь на CSS и этикетках.

CSS:

button.transparent{ 
    position:absolute; 
    left:0; 
    right:0; 
    top:0; 
    bottom:0; 
    visiblity:hidden; 
    border:none; 
    z-index:2; 
    background-color:transparent; 
} 

div.radio{ 
    position:relative; 
} 

div.radio > label > input[type="radio"]{ 
    position:relative; 
    z-index:1; 
} 

Код:

<form action="http://www.yahoo.com" method="GET"> 
    <div class="radio"> 
     <label for="radio_1"> 
    <button type="submit" class="transparent" name="radio" value="1"></button> 
     <input type="radio" value="1" name="radio" id="radio_1"/> 
     Radio 1</label> 
    </div> 
    <div class="radio"> 
     <label for="radio_2"> 
    <button type="submit" class="transparent" name="radio" value="2"></button> 
    <input type="radio" value="2" name="radio" id="radio_2"/> 
      Radio 2</label> 
    </div> 
</form> 
+1

Оригинальная идея, но не работает должным образом, когда я нажимаю справа от метки: выбирается радиокнопка, но форум не отправляется. Я использую Firefox 22. – Jocelyn

+0

Вот пример примера полной ширины: http://jsfiddle.net/DCHaT/8/ –

+0

Я только что проверил с Firefox, обновленный код работает отлично. – Jocelyn

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