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 的情况下做到这一点?(没有点击)

谢谢。

4

5 回答 5

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,但它不会在更改时提交。

于 2013-05-28T17:51:18.810 回答
1

如果不使用 Javascript,则无法检测何时单击单选按钮。

于 2013-05-28T17:51:51.350 回答
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>
于 2013-05-28T18:09:46.937 回答
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".
于 2013-05-28T17:54:35.253 回答
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>
于 2013-05-28T18:02:50.827 回答