2012-11-28 222 views
2

我有了foreach循環和在循環內我有一個輸入類型的無線形式,所以每次它有一個新的值如下面的碼:檢查的單選按鈕被按下

<?php 
      $aircrafts = AircraftPermit::getaircraft(); 
      foreach($aircrafts as $aircraft) 
       { 
        $pacas = AircraftPermit::getrouteaircraft($aircraft->name ,$pilotid); 
        if($pacas) 
         { 
      ?> 
          <tr> 
           <td> 
            <input type="radio" id="ac" value="" disabled="disabled"><?php echo $aircraft->name ;?><br /> 
           </td> 
           <td align="center"> 
            <input name="submit" title="Give permission to selected aircraft" type="submit" value="Give Permit" disabled="disabled"> 
           </td> 
           <td align="center"> 
            <font color="green">Granted</font> 
           </td> 
          </tr> 
      <?php 
         } 
        else 
         { 
      ?> 
          <tr> 
           <td> 
            <input type="radio" id="ac" value="<?php echo $aircraft->name ;?>"><?php echo $aircraft->name ;?><br /> 
           </td> 
           <td align="center"> 
            <input name="id" type="hidden" value="<?php echo $pilotid ;?>"> 
            <input name="submit" title="Give permission to selected aircraft" type="submit" value="Give Permit"> 
           </td> 
           <td align="center"> 
            <font color="red">Restricted</font> 
           </td> 
          </tr> 
      <?php 
         } 
       } 
      ?> 

現在,最後我有一個腳本來檢查單選按鈕,然後象下面這樣:

<script type="text/javascript"> 
function radio_is_on() { 
    var elementId = document.getElementById('ac'); 
    if (elementId.checked==false) 
    { 
     alert('Please select the aircraft first!'); 
     return false; 
    } 
    if (elementId.value) 
    { 
     return true; 
    } 
} 
</script> 

當單選按鈕不推彈出消息還好,但是當它推它沒有返回值和形式發送空值。請告訴我我錯在哪裏。 謝謝

回答

0

你不能有多個id標籤,這可能是爲什麼它不起作用。嘗試將它改爲類。看下面的例子在jquery中。

HTML:

<input type="radio" class="ac" value="<?php echo $aircraft->name ;?>"><?php echo $aircraft->name ;?><br /> 

JAVASCRIPT:

function radio_is_on() { 
    if ($('.ac:checked').val()) { 
    return true; 
    } 
    else { 
    alert('Please select the aircraft first!'); 
    return false; 
    } 
} 
+0

工作就像一個魅力。謝謝。 –

0

你對所有單選按鈕都有相同的id - 這是不正確的。 一直只考慮一個按鈕。 你可以給它們編號,例如。 ac1,ac2等。

+0

一樣,它是在一個循環中,但由於我不能說出他們。 –

0

據我記得一個單選按鈕被「推」時,它被選中屬性,當它沒有按它不推沒有。

 
... 
    if (elementId.hasOwnProperty('checked')) 
... 

,而不是

 
... 
    if (elementId.checked==false) 
... 
+0

謝謝,但沒有去.... !!! –