Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2013, 13:17
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

PHP prinf нужна помощь в синтаксисе javascript
Можно ли вообще так писать.... суть вот в чем есть динамическая таблица
сама по себе она нормально работает ... стоит ее вывести через printf то она работает кроме одного момента


onkeyup='document.getElementById('%s').innerHTML = this.value*1000;'/>


есть ли правило какое

вот рабочая таблица

<script>

var countOfFields ="<?php $res = mysql_query("SELECT COUNT(*) FROM rabota WHERE id='$id'");
 $row = mysql_fetch_row($res);
 $total = $row[0];
 echo $total?>";
  var curFieldNameId = "<?php $res = mysql_query("SELECT COUNT(*) FROM rabota WHERE id='$id'");
 $row = mysql_fetch_row($res);
 $total = $row[0];
 echo $total?>";
  var maxFieldLimit = 100;
  function deleteField(a) {
  var contDiv = a.parentNode.parentNode;
  contDiv.parentNode.removeChild(contDiv);
  countOfFields--;
  
  return false;
}
function addField() {
  if (countOfFields >= maxFieldLimit) {
    alert("Лемит превышен = " + maxFieldLimit);
    return false;
  }
  
  countOfFields++;
  curFieldNameId++;
  
  
  var div = document.createElement("tr");
  div.innerHTML = "<th width=\"300\"><input size=\"30\" type=\"text\" name=\"rabota"+curFieldNameId+"\"  id=\"rabota"+curFieldNameId+"\"  value=\"rabota"+curFieldNameId+"\" class=\"textfield\"  /></th width=\"100\">"+"<th width=\"100\">1000</th>"+" <th width=\"100\"><label width=\"100\"><input type=\"text\" size=\"5\"name=\"norma"+curFieldNameId+"\"  id=\"norma"+curFieldNameId+"\" class=\"textfield\" onBlur=\"sd()\" onChange=\"sd()\" onkeyup=\"document.getElementById('result"+curFieldNameId+"').innerHTML = this.value*1000;\"/></label></th>"+"<th width=\"100\"><div   id=\"result"+curFieldNameId+"\"    />Сумма</div></th>"+"<th width=\"200\"><select id=\"ispol"+curFieldNameId+"\" name=\"ispol"+curFieldNameId+"\"><option value=\"Нет исполнителья\">нет исполнителя</option><option value=\"Травин Николай\">Николай</option><option value=\"Малинин Вова\">Вова</option> <option value=\"Vlad\">Vlad</option><option value=\"Рамзанов Руслан\">Руслан</option>  </select></th>"+"<th><img src=\"img/Round Thing.png\" onclick=\"return addField()\" onMouseOver=\"sd()\"  width=\"30\" height=\"30\"></th>"+"<th><img src=\"img/x.png\" onclick=\"return deleteField(this)\"  onMouseOver=\"sd()\" width=\"25\" height=\"25\"></th>"; 
  
  document.getElementById("parentId").appendChild(div);
  return false;
}
</script>



вот вариант printf

<?php 
mysql_query("SET CHARACTER SET utf-8"); 
$result1 = mysql_query("SELECT * FROM rabota WHERE id='$id'",$db);
$myrow1 = mysql_fetch_array($result1); 
$rabotas = array( 'rabota1', 'rabota2', 'rabota3');
$results = array( 'result1', 'result2', 'result3');
$normas = array( 'norma1', 'norma2', 'norma3');
$ispols = array( 'ispol1', 'ispol2', 'ispol3');
$res = mysql_query("SELECT COUNT(*) FROM rabota WHERE id='$id'");
 $row = mysql_fetch_row($res);
 $total = $row[0];

$i =-1;
do {
$i++;	
printf ("
<tr>
<th width='300'><input size='30' type='text' id='%s'  value='%s' class='textfield'/></th width='100'><th width='100'>1000</th><th width='100'><label width='100'><input type='text' size='5' id='%s' value='%s'  class='textfield' onBlur='sd()' onChange='sd()' onkeyup='document.getElementById(%s).innerHTML = this.value*1000;'/></label></th><th width='100'><div id='%s' />%s</div></th><th width='200'><select id='%s'><option value='%s'>%s</option><option value='Травин Николай'>Николай</option><option value='Малинин Вова'>Вова</option> <option value='Vlad'>Vlad</option><option value='Рамзанов Руслан'>Руслан</option>  </select></th><th><img src='img/Round Thing.png' onclick='return addField()' onMouseOver='sd()'  width='30' height='30'></th><th><img src='img/x.png' onclick='return deleteField(this)'  onMouseOver='sd()' width='25' height='25'></th> <tr>
", $rabotas["$i"],$myrow1["rabota_1"],$normas["$i"],$myrow1["norma"],$results["$i"],$results["$i"],$myrow1["sum"],$ispols["$i"],$myrow1["ispol"],$myrow1["ispol"]); 

}

while ($myrow1 = mysql_fetch_array ($result1)  );	
?>

Последний раз редактировалось arahmanov, 20.01.2013 в 13:19.
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2013, 13:53
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

up
скажите пожалуйста так вообще можно писать
onkeyup='document.getElementById('%s').innerHTML = this.value*1000;'/>
в printf
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2013, 13:57
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Даже если указать железно

onkeyup='document.getElementById('result1').innerHTML = this.value*1000;'/>


все ровно не считает
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2013, 14:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

onkeyup="document.getElementById('result1').innerHTML = parseInt(this.value)*1000;"/>
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2013, 14:34
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Сообщение от Deff Посмотреть сообщение
onkeyup="document.getElementById('result1').innerHTML = parseInt(this.value)*1000;"/>
не работает..
причем если в коде js все ровно стоит его вывести в printf так он не пашет не пойму уже всю голову себе словал переменные все проверил...прям уверен что тут что то не так
может потому что двойные кавычке в printf нельзя


onkeyup='document.getElementById('result1').innerHTML = parseInt(this.value)*1000;'/>
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2013, 14:36
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от arahmanov
может потому что двойные кавычке в printf нельзя
onkeyup=\"document.getElementById('result1').innerHTML = parseInt(this.value)*1000;\"/>
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2013, 14:48
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Сообщение от Deff Посмотреть сообщение
onkeyup=\"document.getElementById('result1').innerHTML = parseInt(this.value)*1000;\"/>
Спасибо, заработало ))))))) ура
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 12:07
Нужна помощь с javascript Leslie Оффтопик 0 18.12.2012 01:40
Нужна помощь по javascript)) NAS Opera, Safari и др. 9 29.09.2012 23:07
JavaScript + PHP нужна помощь. Ledd Серверные языки и технологии 1 05.11.2011 21:49
Нужна помощь по работе яваскрипта с php Mapshal Общие вопросы Javascript 1 13.08.2011 16:42