kasutaja
Новичок
PHP + JS - передача переменных
Помогите, пожалуйста.
Цель.
Создаю вопросы. --> Получаю перечень вопросов с возможностью занесения ответов к каждому вопросу.
Затем при нажатии кнопки "+" добавлялась бы новая строка для ввода варианта ответа как при вводе вопросов, но у меня тут возникли сложности с именами переменных.
Вот польностью мой код:
<html>
<head>
<title>Создание</title>
<SCRIPT language=JavaScript>
var numb;
numb = 1;
function add_new_row() {
var currrow;
currow = document.all.tbl.rows.length; // вычислить количество строк в таблице
numb++;
document.all.tbl.insertRow(currow); // добавляем строку в таблицу
document.all.tbl.rows[currow].insertCell(0); // добавляем ячейки
document.all.tbl.rows[currow].insertCell(1);
document.all.tbl.rows[currow].insertCell(2);
document.all.tbl.rows[currow].cells[0].innerHTML = '<input type=\"text\" name=\"Qname1['+numb+']\" size=88>'; // вставляем в форму поля
document.all.tbl.rows[currow].cells[1].innerHTML = '<select name=\"Qtype1['+numb+'\]"><option value=\"checkbox\">Флажок<option value=\"radio\">Переключатель</select>';
document.all.tbl.rows[currow].cells[2].innerHTML = '<input type=button name=\"btnNext\" value=\" + \" onClick=\"add_new_row()\">'; // кнопка для вызова функции для добавления следующей строки
}
</SCRIPT>
<SCRIPT language=JavaScript>
var numb2;
numb2 = 1;
function add_new_row_Answer() {
var currrow2;
currow2 = document.all.Qtable['<?php echo $i; ?>'].rows.length;
numb2++;
document.all.Qtable['<?php echo $i; ?>'].insertRow(currow2);
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].insertCell(0);
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].insertCell(1);
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].cells[0].innerHTML = '<input type=\"text\" name=\"Qanswer[<?php echo $i; ?>]['+numb2+']\" size=88>';
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].cells[2].innerHTML = '<input type=button name=\"btnNext2\" value=\" + \" onClick=\"add_new_row_Answer()\">';
}
</SCRIPT>
</head>
<body>
<p><a href="anketa.php?step=1">Создать новую</a></p>
<?php
if ($step==1) {
?>
<p>Создание</p>
<FORM action="anketa.php?step=2" method="post">
<P>
<FIELDSET style='width:750'>
<LEGEND><b>Вопросы</b></LEGEND>
<p><center>
<table id="tbl" border=1 width=99%>
<tr>
<td>Наименование вопроса</td>
<td>Тип вопроса</td>
<td> </td>
</tr>
<tr>
<td><input name="Qname1[1]" size=88></td>
<td><select name="Qtype1[1]"><option value="checkbox">Флажок<option value="radio">Переключатель</select></td>
<td><input onclick=add_new_row() type="button" value=" + " name="btnnext"></td>
</tr>
</table>
</center></p>
<p><u>Примечание:</u><br>
<INPUT type="checkbox" name="primer2"> Флажок (позволяет выбрать из группы ответов только один вариант)<br>
<INPUT type="radio" name="primer1"> Переключатель (позволяет выбрать из группы ответов несколько вариантов)
</p>
</FIELDSET>
<p><input type="submit" value="Продолжить" style="width:110"></p>
</FORM>
<?php
}
if ($step==2) {
function edit_var($var) {
$var = trim($var); //Удаляет пробельные символы из начала и конца строки
$var = strip_tags($var); //Удаляет HTML и PHP теги из строки
$var = str_replace("'","",$var);
$var = str_replace("\"","",$var);
$var = stripslashes($var); //Удаляет экранирующие слэши из строки
$var = str_replace("\\","/",$var);
return ($var);
}
$j=1;
for ($i=1;$i<=count($Qname1);$i++) {
$Qname1[$i] = edit_var($Qname1[$i]);
if ($Qname1[$i]!='') {
$Qname[$j] = $Qname1[$i];
$Qtype[$j] = $Qtype1[$i];
$j++;
}
}
?>
<p>Создание</p>
<p>Варианты ответов</p>
<FORM action="anketa.php?step=3" method="post">
<?php
for ($i=1;$i<=count($Qname);$i++) {
?>
<p>
<FIELDSET style='width:750'>
<LEGEND><b><?php echo $Qname[$i];?></b></LEGEND>
<p><center>
<table id="Qtable[<?php echo $i; ?>]" border=1 width=99%>
<tr>
<td>Вариант ответа</td>
<td> </td>
</tr>
<tr>
<td><input name="Qanswer[<?php echo $i; ?>][1]" size=88></td>
<td><input onclick=add_new_rowA() type="button" value=" + " name="btnnext1"></td>
</tr>
</table>
</center></p>
</FIELDSET>
<?php
}
?>
<p><input type="submit" value="Сохранить" style="width:110"></p>
</FORM>
<?php
}
?>
</body>
</html>
Помогите, пожалуйста.
Цель.
Создаю вопросы. --> Получаю перечень вопросов с возможностью занесения ответов к каждому вопросу.
Затем при нажатии кнопки "+" добавлялась бы новая строка для ввода варианта ответа как при вводе вопросов, но у меня тут возникли сложности с именами переменных.
Вот польностью мой код:
<html>
<head>
<title>Создание</title>
<SCRIPT language=JavaScript>
var numb;
numb = 1;
function add_new_row() {
var currrow;
currow = document.all.tbl.rows.length; // вычислить количество строк в таблице
numb++;
document.all.tbl.insertRow(currow); // добавляем строку в таблицу
document.all.tbl.rows[currow].insertCell(0); // добавляем ячейки
document.all.tbl.rows[currow].insertCell(1);
document.all.tbl.rows[currow].insertCell(2);
document.all.tbl.rows[currow].cells[0].innerHTML = '<input type=\"text\" name=\"Qname1['+numb+']\" size=88>'; // вставляем в форму поля
document.all.tbl.rows[currow].cells[1].innerHTML = '<select name=\"Qtype1['+numb+'\]"><option value=\"checkbox\">Флажок<option value=\"radio\">Переключатель</select>';
document.all.tbl.rows[currow].cells[2].innerHTML = '<input type=button name=\"btnNext\" value=\" + \" onClick=\"add_new_row()\">'; // кнопка для вызова функции для добавления следующей строки
}
</SCRIPT>
<SCRIPT language=JavaScript>
var numb2;
numb2 = 1;
function add_new_row_Answer() {
var currrow2;
currow2 = document.all.Qtable['<?php echo $i; ?>'].rows.length;
numb2++;
document.all.Qtable['<?php echo $i; ?>'].insertRow(currow2);
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].insertCell(0);
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].insertCell(1);
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].cells[0].innerHTML = '<input type=\"text\" name=\"Qanswer[<?php echo $i; ?>]['+numb2+']\" size=88>';
document.all.Qtable['<?php echo $i; ?>'].rows[currow2].cells[2].innerHTML = '<input type=button name=\"btnNext2\" value=\" + \" onClick=\"add_new_row_Answer()\">';
}
</SCRIPT>
</head>
<body>
<p><a href="anketa.php?step=1">Создать новую</a></p>
<?php
if ($step==1) {
?>
<p>Создание</p>
<FORM action="anketa.php?step=2" method="post">
<P>
<FIELDSET style='width:750'>
<LEGEND><b>Вопросы</b></LEGEND>
<p><center>
<table id="tbl" border=1 width=99%>
<tr>
<td>Наименование вопроса</td>
<td>Тип вопроса</td>
<td> </td>
</tr>
<tr>
<td><input name="Qname1[1]" size=88></td>
<td><select name="Qtype1[1]"><option value="checkbox">Флажок<option value="radio">Переключатель</select></td>
<td><input onclick=add_new_row() type="button" value=" + " name="btnnext"></td>
</tr>
</table>
</center></p>
<p><u>Примечание:</u><br>
<INPUT type="checkbox" name="primer2"> Флажок (позволяет выбрать из группы ответов только один вариант)<br>
<INPUT type="radio" name="primer1"> Переключатель (позволяет выбрать из группы ответов несколько вариантов)
</p>
</FIELDSET>
<p><input type="submit" value="Продолжить" style="width:110"></p>
</FORM>
<?php
}
if ($step==2) {
function edit_var($var) {
$var = trim($var); //Удаляет пробельные символы из начала и конца строки
$var = strip_tags($var); //Удаляет HTML и PHP теги из строки
$var = str_replace("'","",$var);
$var = str_replace("\"","",$var);
$var = stripslashes($var); //Удаляет экранирующие слэши из строки
$var = str_replace("\\","/",$var);
return ($var);
}
$j=1;
for ($i=1;$i<=count($Qname1);$i++) {
$Qname1[$i] = edit_var($Qname1[$i]);
if ($Qname1[$i]!='') {
$Qname[$j] = $Qname1[$i];
$Qtype[$j] = $Qtype1[$i];
$j++;
}
}
?>
<p>Создание</p>
<p>Варианты ответов</p>
<FORM action="anketa.php?step=3" method="post">
<?php
for ($i=1;$i<=count($Qname);$i++) {
?>
<p>
<FIELDSET style='width:750'>
<LEGEND><b><?php echo $Qname[$i];?></b></LEGEND>
<p><center>
<table id="Qtable[<?php echo $i; ?>]" border=1 width=99%>
<tr>
<td>Вариант ответа</td>
<td> </td>
</tr>
<tr>
<td><input name="Qanswer[<?php echo $i; ?>][1]" size=88></td>
<td><input onclick=add_new_rowA() type="button" value=" + " name="btnnext1"></td>
</tr>
</table>
</center></p>
</FIELDSET>
<?php
}
?>
<p><input type="submit" value="Сохранить" style="width:110"></p>
</FORM>
<?php
}
?>
</body>
</html>