{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>
我有一个智能模板,使用另一个页面中的数组,将其添加到“CombatLister”表中。但是,由于某种原因,addPJ()脚本不会运行。我只是学习Javascript的绳索,所以也许我跳过一些东西,但到目前为止,我没有答案为什么它不起作用。
我尝试使用addPJButt()来检查addPJ()脚本是否错误,但是脚本正常工作:当我将数据放在输入类型上时,他们正确地添加了名称。
我不认为这是Smarty的问题。检查页面的源代码类似,写这个我叫$ pj:
<script>
addPJ(Galahad,14,5);
</script>
PS:作为一个额外的问题,但不是那么重要,在addPJ的insertCell方法中只添加了第一个单元格。
答案 0 :(得分:0)
addPJ(Galahad,14,5);
正在寻找未定义的变量Galahad
。
你需要引用它,以便将其打印为javascript字符串
尝试
addPJ('{$pj.nombre}',{$pj.ac},{$pj.init})
注意:我多年没有使用过smarty,并且假设引号是文字