动态添加时脚本不是 运行
Script is not running when added dynamically
{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" table。然而,出于某种原因,addPJ() 脚本没有 运行。我只是在学习 Javascript,所以我可能会跳过一些东西,但到目前为止,我还没有找到它为什么不起作用的答案。
我尝试使用 addPJButt() 来检查 addPJ() 脚本是否错误,但该脚本正在运行:当我将数据放在输入类型上时,它们正确地添加了名称。
我觉得不是Smarty的问题。检查页面的源代码是否相似,在我调用 $pj:
的地方写这个
<script>
addPJ(Galahad,14,5);
</script>
PS: 作为一个额外的问题,但不是那么重要,在 addPJ 的 insertCell 方法上只添加第一个单元格。
addPJ(Galahad,14,5);
正在查找未定义的变量 Galahad
。
您需要引用它以便打印为 javascript 字符串
尝试
addPJ('{$pj.nombre}',{$pj.ac},{$pj.init})
注意:我已经多年没有使用 smarty 并假设引号是文字
{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" table。然而,出于某种原因,addPJ() 脚本没有 运行。我只是在学习 Javascript,所以我可能会跳过一些东西,但到目前为止,我还没有找到它为什么不起作用的答案。
我尝试使用 addPJButt() 来检查 addPJ() 脚本是否错误,但该脚本正在运行:当我将数据放在输入类型上时,它们正确地添加了名称。
我觉得不是Smarty的问题。检查页面的源代码是否相似,在我调用 $pj:
的地方写这个<script>
addPJ(Galahad,14,5);
</script>
PS: 作为一个额外的问题,但不是那么重要,在 addPJ 的 insertCell 方法上只添加第一个单元格。
addPJ(Galahad,14,5);
正在查找未定义的变量 Galahad
。
您需要引用它以便打印为 javascript 字符串
尝试
addPJ('{$pj.nombre}',{$pj.ac},{$pj.init})
注意:我已经多年没有使用 smarty 并假设引号是文字