2016-06-30 4 views
-3
{include file="head.tpl" title="Combate"} 
{include file="navBar.tpl" dir=$dir} 
<table id="CombatLister"> 

</table> 

Nombre: <input type="text" id="nombrePJ"> 
AC <input type="number" id="ACPJ"> 
Iniciativa <input type="number" id="Init"> 
<button id="añadirParty" onclick="addPJButt()">Añadir</button> 



<script> 

function addPJButt(){ 
    var name=document.getElementById("nombrePJ").value; 
    var ac=document.getElementById("ACPJ").value; 
    var iniciativa=parseInt(document.getElementById("Init").value); 
    addPJ(name,ac,iniciativa); 
} 
function addPJ(nombre,ac,init){ 
    var table=document.getElementById("CombatLister"); 
    var row=table.insertRow(0); 
    var cellNombre=row.insertCell(0); 
    var cellInit=row.insertCell(1); 
    var cellAc=row.insertCell(2); 
    cellNombre.innerHTML=nombre; 
    cellInit.innerHtml=init; 
    cellAc.innerHtml=ac; 
} 

</script> 
<script> 
{$x=0} 
{foreach $party as $pj} 

addPJ({$pj.nombre},{$pj.ac},{$pj.init}) 

{/foreach} 
</script> 

У меня есть шаблон smarty, который использует массив с другой страницы, добавляет его в таблицу «CombatLister». однако по какой-то причине сценарий addPJ() не запускается. Я просто изучаю веревки Javascript, поэтому, возможно, я что-то пропускаю, но до сих пор у меня нет ответов на вопрос, почему это не работает.Сценарий не работает при добавлении динамически

Я попытался проверить, был ли скрипт addPJ() неправильным, используя addPJButt(), но работает скрипт: Когда я помещаю данные на типы ввода там, они правильно добавляют имя.

Я не думаю, что это проблема Smarty. проверки исходного кода страницы, его похожим, сочинительство это, где я называю $ р ^:

<script> 

    addPJ(Galahad,14,5); 

</script> 

PS: В качестве дополнительной задачи, но не так уж важно, о методах insertCell в addPJ добавляется только первая ячейка.

ответ

0

addPJ(Galahad,14,5); ищет неопределенную переменную Galahad.

вам необходимо процитировать его, чтобы он печатается в виде строки яваскрипта

Попробуйте

addPJ('{$pj.nombre}',{$pj.ac},{$pj.init}) 

Примечание: Я не работал с Smarty в годах, и предположим, что котировки будут литералов

+0

Спасибо вы! он отлично работает сейчас –

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