2016-06-30 1 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> 

다른 페이지의 배열을 사용하여 "CombatLister"테이블에 추가하는 멋진 템플릿이 있습니다. 그러나 어떤 이유로 든 addPJ() 스크립트가 실행되지 않습니다. 임 그냥 자바 스크립트의 밧줄을 배우는, 그래서 어쩌면 뭔가를 건너 뛰는,하지만 지금까지, 나는 그것이 작동하지 않는 이유에 대한 답변을 가지고있다.동적으로 추가 할 때 스크립트가 실행되고 있지 않습니다.

addPJButt()를 사용하여 addPJ() 스크립트가 잘못되었지만 스크립트가 작동하는지 확인하려고했습니다. 그곳에있는 입력 유형에 데이터를 넣으면 올바르게 추가됩니다.

나는 Smarty의 문제라고 생각하지 않는다.

<script> 

    addPJ(Galahad,14,5); 

</script> 

PS : 나는 $ PJ를 호출 할 곳을을 writting, 그와 유사한 페이지의 소스 코드를 확인하는 첫 번째 셀을 추가 addPJ의 insertCell 방법에 별도의 문제지만, 그렇게 중요하지, 같이.

답변

0

addPJ(Galahad,14,5);은 정의되지 않은 변수 Galahad을 찾고 있습니다. 따옴표는 리터럴에게

+0

감사 할 것이다 나는 몇 년 동안 유식 함께 일하지 않은 가정이 자바 스크립트 문자열로 인쇄됩니다 있도록

당신은

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

참고 시도를 인용 할 필요가 당신! 이제 완벽하게 작동합니다. –

관련 문제