2013-09-12 4 views
0

Сценария:PHP: RadioButton направит на другую страницу, не используя кнопку/отправить

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

Так вот мой код:

<?php 
    $radio = mysql_query("SELECT fldNetname FROM tbldata WHERE fldMonth = '$get_month' AND fldWeek = '$get_week' GROUP BY fldNetname ORDER BY fldNetname"); 
    while ($row = mysql_fetch_array($radio)){ 
echo "<div><input type='radio' name='playRadio' class='chk_boxes1' value='" . $row['fldNetname']."' " .($_POST['playRadio'] == $row['fldNetname'] ? 'checked' : '') . " onClick=\'this.form.action='looptime_utilization_process.php'; this.form.submit()\' >"; 
    echo $row['fldNetname'];"</div>"; 
} 
    ?> 

Когда я пытаюсь запустить его там нет ошибки пока его не направляя на страницу я хочу. Есть ли способ, которым радиокнопка будет также напоминать кнопку, которая может перейти к другой форме?

Спасибо.

+0

попробуйте изменить \»вокруг OnClick Javascript для \» – Waygood

+0

Это не имеет ничего делать с PHP. – DanFromGermany

ответ

0

Я исправленные все ваши HTML и PHP ошибки:

<?php 
$radio = mysql_query("SELECT fldNetname FROM tbldata WHERE fldMonth = '" . mysql_real_escape_string($get_month) . "' AND fldWeek = '" . mysql_real_escape_string($get_week) . "' GROUP BY fldNetname ORDER BY fldNetname"); 
while ($row = mysql_fetch_array($radio)) { 
?> 

<div> 
    <input type="radio" name="playRadio" class="chk_boxes1" value="<?php echo $row['fldNetname']; ?>"<?php echo ($_POST['playRadio'] == $row['fldNetname'] ? 'checked=" checked"' : ''); ?> onclick="this.form.action='looptime_utilization_process.php'; this.form.submit();"> 
    <?php echo $row['fldNetname']; ?> 
</div> 
<?php 
} 

Что изменилось:

  1. добавил mysql_real_escape_string(); - более высокий уровень безопасности, если ваши переменные уже не прибежит
  2. изменения эхо строки concatening для закрытия/открытия <?php теги
  3. изменен onClick по onclick (a атрибуты LL должны быть написаны в нижнем регистре в большинстве современных стандартам)
  4. изменил checked на checked="checked"
  5. скорректированного неправильные кавычки в onclick атрибуте
+1

@ DanFromGermany..hey! извините за поздний ответ .. спасибо за помощь мне –

0
<form action='looptime_utilization_process.php'> 
<input type='radio' name='playRadio' class='chk_boxes1' onClick='form.submit();' > 
<form> 
+0

@GaryHayes .... Это нормально, если есть два

??? как ...

+0

Зачем вам это нужно? –

+0

Он положил в '

' потому что в вашем коде нет в вопросе – DanFromGermany

0

Использование Javascript

if(document.getElementsByID("playradio").value==<ur value>) 
{ 
param="<ur parameters>"; 
xmlhttp.open("GET", "looptime_utilization_process.php?".param ,false); 
xmlhttp.send(); 
} 
+0

@RameshYadav ... в этом коде «значение == )« что вы имеете в виду мою ценность? –

+0

параметр, который вы хотите передать на другую страницу ... узнать больше об использовании ajax ... если у вас нет параметров, не добавляйте –

0

Попробуйте

$trgt=$_POST['playRadio']; 
$radio = mysql_query("SELECT fldNetname FROM tbldata WHERE fldMonth = '$get_month' AND fldWeek = '$get_week' GROUP BY fldNetname ORDER BY fldNetname"); 
while ($row = mysql_fetch_array($radio)){ 
$v=$row['fldNetname']; 
echo "<div><input type='radio' name='playRadio' class='chk_boxes1' value='$v'" 
    .($trgt == $v ? 'checked' : '') 
    .' onclick="o=document.forms[0];o.action=\'looptime_utilization_process.php\'; o.submit()" >'; 
echo "$v</div>"; 
} 

Вы были некоторые проблемы с кавычками в вашем onClick разделе. Также this не работает там, как вы хотели. Я заменил его на document.forms[0], считая, что он является первым form на той странице, которую вы хотите отправить, и, конечно же, при условии, что переключатели - это на самом деле внутри <form> тегов! Измените это по мере необходимости ...

И, конечно же, размещение контекста action=... в разделе радиокномов действительно имеет смысл, если оригинальное действие формы указывало на что-то другое, что должно быть там для других случаи использования. В противном случае следуйте совету Gary Hayes и поместите атрибут action в теги <form>...</form>.

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