Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JS гуру, посмотрите 2 строки, скажите какое имя генерирует JS скрипт, спасибо...
 
 автор: Panker   (11.09.2007 в 03:55)   письмо автору
 
 


function addFile(btn)
{if(document.getElementById)
{if(document.getElementById('addfile'))
{var template=document.getElementById('addfile').firstChild;
var resultNode=template.cloneNode(true);
resultNode.className='';
resultNode=template.parentNode.appendChild(resultNode)
addChooseEvt(resultNode.getElementsByTagName('input')[0]);
}
checkForLast();
}}



<tbody id=\"addfile\"><tr class=\"hidden\">
<td class=silver align=right>Вопрос</td>
<td class=silver>
<input type=\"text\" class=\"wideFile\" name=\"att\">
<input type=\"button\" onclick=\"dropFile(this);\" value=\" - \" name=\"drop\" disabled>
<input type=\"button\" onclick=\"addFile(this);\" value=\" + \">
</td>
</tr>
</tbody>

Простите что экран потянет наверное, боюсь переносить строки в JS, непоняный он какойто :)

Украл или взял скрипт с почты яндекс!
Всё работает кнопочки появляются точней новые input а вот какие имена у них хз!

Попробывал посомтреть что в имени $att но там тока значения первого поля!

я так подозревая там масив? Как его средствами пхп вывести ?

Я как бы возму все овтеты, разабью их как нить запишу в базе, а потмо по однмоу овтету на одну строку буду выводить ну это уже не важно...

   
 
 автор: sim5   (11.09.2007 в 10:29)   письмо автору
 
   для: Panker   (11.09.2007 в 03:55)
 

И правильно подозреваете, это и будет массив, а для того чтобы вывести его в РНР вам не обязательно знать имя конкретного элемента массива, хотя имена будут выглядеть так - att[].
В РНР вы просто должны получить и разложить этот массив, наглядно это выглядит так:

<html>
<head>
</head>
<body>
<form method="post">
<input type="text" name="att[]">
<input type="text" name="att[]">
<input type="text" name="att[]">
<input type="submit" value="GO">
</form> 
<?
if (isset($_POST['att'])) {
  for (
$i=0$i<count($_POST['att']); $i++) {
    echo 
$_POST['att'][$i].'<br>';
  }
}
?>
</body>
</html>

   
 
 автор: Panker   (12.09.2007 в 04:20)   письмо автору
 
   для: sim5   (11.09.2007 в 10:29)
 

делаю так
файлик один, там типа по такой схеме всё показывается if($myget==create)

почему у меня выводится ВСЁ РАВНО только то что вбито в первую кнопку а то что динамические появляются они будто не считаются


<?php
$myget
=$_GET['go'];
if(
$myget==create)
{
echo 
"
<br>
<table width=\"100%\" cellpadding=5 cellspacing=1>
    <tr>
    <td class=blue colspan=2>Пожалуйста, войдите</td></tr>
    <form method=\"POST\" action=\"zone.php?go=createsubmit\">
    <tr>
    <td class=silver align=right>Загаловок</td>
    <td class=silver><input name=\"title\" type=\"text\"></td>
    </tr>
    <tr>
    <td width=\"10%\" class=silver align=right>Кто</td>
    <td width=\"90%\"class=silver><input name=\"kto\" type=\"text\"></td>
    </tr>
    <td class=silver align=right>Кому</td>
    <td class=silver><input name=\"komu\" type=\"text\"></td>
    </tr>
    <tr>
    <td class=silver align=right>Дата</td>
    <td class=silver><input name=\"data\" type=\"text\"></td>
    </tr>
    <td class=silver align=right>Вопросы</td>
    <td class=silver><input name=\"voprosi\" type=\"text\"></td>
    </tr>
    
<tbody id=\"addfile\"><tr class=\"hidden\">
<td class=silver align=right>Вопрос</td>
<td class=silver>
<input type=\"text\" class=\"wideFile\" name=\"att\">
<input type=\"button\" onclick=\"dropFile(this);\" value=\" - \" name=\"drop\" disabled>
<input type=\"button\" onclick=\"addFile(this);\" value=\" + \">
</td>
</tr>
</tbody>

<input type=\"text\" name=\"ques[]\" />
<input type=\"text\" name=\"ques[]\" />
<input type=\"button\" value=\"Добавить\" onClick=\"addInput()\" /> 


    <tr>
    <td class=silver align=right>Ответы</td>
    <td class=silver><input name=\"otveti\" type=\"text\"></td>
    </tr>
    <tr>
    <td class=silver align=right>Оценка</td>
    <td class=silver><input name=\"ocenka\" type=\"text\"></td>
    </tr>
    <tr>
    <td class=silver align=right>ты</td>
    <td class=silver><input name=\"komkto\" type=\"text\"></td>
    </tr>
    <tr>
    <td class=silver align=right>он</td>
    <td class=silver><input name=\"komkomu\" type=\"text\"></td>
    </tr>
    <tr>
    <td class=silver align=right>Актив - пасив</td>
    <td class=silver><input name=\"onoff\" type=\"text\"></td>
    </tr>
    <tr>
    <td class=silver align=right></td>
    <td class=silver><input name=\"submit\" type=\"submit\" value=\"Войти\"></td>
    </tr>
    </form> 
</table>
"
;
};




if($myget==createsubmit)
{
if (isset($_POST['att'])) {
  for ($i=0; $i<count($_POST['att']); $i++) {
    echo $_POST['att'][$i].'<br>';
  }
}
mysql_query("INSERT INTO interviy SET 
title = '".$title."', 
kto = '".$kto."', 
komu = '".$komu."', 
data = '".$data."', 
voprosi = '".$voprosi."', 
otveti= '".$otveti."', 
ocenka = '".$ocenka."', 
komkto = '".$komkto."', 
komkomu = '".$komkomu."', 
onoff = '".$onoff."'
");
};

   
 
 автор: Panker   (12.09.2007 в 04:28)   письмо автору
 
   для: Panker   (12.09.2007 в 04:20)
 

хотелось бы добавить что почему то показывается только ПЕРВЫЙ СИМВОЛ из первого поля, второй символ не показывается так же не показываются и другая информация из динамическизх полей

а если ГЕТОМ передаю то показывается тока первое поле, вот разобрал

title=&
kto=&
komu=&
data=&
voprosi=&
att=12134&
otveti=&
ocenka=&
komkto=&
komkomu=&
onoff=&
submit=%C2%EE%E9%F2%E8

   
 
 автор: sim5   (12.09.2007 в 05:24)   письмо автору
 
   для: Panker   (12.09.2007 в 04:28)
 

Что-то ничего не понятно. Как я понял, вы используете скрипт, который предложил вам bronenos


<form name="q"> 
<input type="text" name="ques[]" /> 
<input type="text" name="ques[]" /> 
<input type="button" value="Добавить" onClick="addInput()" /> 
</form> 

<script type="text/javascript"> 
function addInput() 

  var input = document.createElement("input"); 
  input.type = "text"; 
  input.name = "ques[]"; 
  document.q.appendChild(input); 

</script>


Имена динамических полей в нем будут равны ques[], а вы почему-то принимаете массив att (да это и просто код примера):

<?
if($myget==createsubmit

if (isset(
$_POST['att'])) { 
  for (
$i=0$i<count($_POST['att']); $i++) { 
    echo 
$_POST['att'][$i].'<br>'
  } 
}

В то же время что-то и про att в форме есть, правда не понятно, что это у вас делает.
А с остальными полями - а кая проблема, ну просто проверьте:

<?
if (isset($_GET['go']))
echo 
$_POST['kto'].'<br>';
echo 
$_POST['komu'].'<br>';
// и т.д.

Все должно быть на месте, я не вижу у вас в коде, чтобы переменной $kto присваивалось принятое значение $_POST['kto'], которое не мешало бы проверять перед помещением в базу.

   
 
 автор: Panker   (12.09.2007 в 08:40)   письмо автору
 
   для: sim5   (12.09.2007 в 05:24)
 

эт всё черновой вариант, мне бы сначала разобратся с полями :)

пока я пользуюсь штукой которую взял с яндекса ( т.к хочу посомтрет ьвсе варианты )

<tbody id=\"addfile\"><tr class=\"hidden\">
<td class=silver align=right>Вопрос</td>
<td class=silver>
<input type=\"text\" class=\"wideFile\" name=\"att\">
<input type=\"button\" onclick=\"dropFile(this);\" value=\" - \" name=\"drop\" disabled>
<input type=\"button\" onclick=\"addFile(this);\" value=\" + \">
</td>
</tr>
</tbody>

JS код

function dropFile(btn)
{if(document.getElementById)
{tr=btn;
while(tr.tagName!='TR')
tr=tr.parentNode;tr.parentNode.removeChild(tr);checkForLast();
}}
function addFile(btn)
{if(document.getElementById)
{if(document.getElementById('addfile'))
{var template=document.getElementById('addfile').firstChild;
var resultNode=template.cloneNode(true);
resultNode.className='';resultNode=template.parentNode.appendChild(resultNode)
addChooseEvt(resultNode.getElementsByTagName('input')[0]);}
checkForLast();
}}

тут переменная где вопросы att z ghjбую её вывести но не в GET запросе не в адресной строке почему то нету второго варианта третьего и так далее котоыре динамически появляются!

с вашим вариантом и вторым предложенным разбираюсь так как в дизайн что т оне строить :(

   
 
 автор: sim5   (12.09.2007 в 08:58)   письмо автору
 
   для: Panker   (12.09.2007 в 08:40)
 

А вы не пробовали записать в более удобочитаемом виде?:

function dropFile(btn) {
if(document.getElementById) {
  tr=btn;
  while(tr.tagName!='TR')tr=tr.parentNode;
  tr.parentNode.removeChild(tr);
  checkForLast();
 }

function addFile(btn) {
if(document.getElementById) {
  if(document.getElementById('addfile')) {
    var template=document.getElementById('addfile').firstChild;
    var resultNode=template.cloneNode(true);
    resultNode.className='';
    resultNode=template.parentNode.appendChild(resultNode) 
    addChooseEvt(resultNode.getElementsByTagName('input')[0]);
   } 
  checkForLast();
 }
}

Это все что вы "сперли" у Яндекса? У вас сценарий выполняется и нет ошибок? Ну по крайней мере здесь, сразу, должна быть ошибка - отсутствует функция checkForLast(). У вас просто не может работать этот скрипт.

   
 
 автор: Panker   (12.09.2007 в 11:57)   письмо автору
 
   для: sim5   (12.09.2007 в 08:58)
 

да, всё что стёр, дело в том тчто у яндекса более 10 JS сразу подрубается, я методом тыка поудалял всё, всё работает и добавляется и убавляется кнопка INPUT но вот гетом передаётся тока первая....

как поступить не знаю :(
хотя опять нанимай программиста для консультаций :)

   
 
 автор: sim5   (12.09.2007 в 12:26)   письмо автору
 
   для: Panker   (12.09.2007 в 11:57)
 

Ну ищите в подключаемых JS-файлах функции которых не хватате, смотрите какие еще вызываются функции, есть ли глобальные переменные. Все это надо вставить в код. А то у вас сценарий не работает, а вы пытаетесь получить значения несуществующего массива.
Кстати, в сценарии идет обращение к элементу с ID "addfile", а у вас такового в форме нет.

   
 
 автор: Panker   (12.09.2007 в 12:46)   письмо автору
 
   для: sim5   (12.09.2007 в 12:26)
 

во сколько вы оцениваете свои консультации? В принципе деньги есть всегда, но как хобби это программирование, возмодно стоит пересмотреть взгляды и прсото по аси консультирвоатся? :((((((

   
 
 автор: sim5   (12.09.2007 в 13:00)   письмо автору
 
   для: Panker   (12.09.2007 в 12:46)
 

Я не пользуюсь Асей, пользуюсь другими средствами. Подождите - коли вы предлагаете плату, желающие найдутся и откликнутся обязательно.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования