2015-07-11 97 views
-1

我想在for循环的php代码中调用一个javascript函数。但它不工作。我想在我称之为函数的行中有些问题。请建议如何编辑代码,以便javascript功能可以正常工作。这是我试过的代码。Javascript函数不能在php代码中工作

<?php 
?> 
<script> 

function calculate(aa, mad, hs, gra, mas, nsm, phd, exp, intv){ 

document.getElementById(aa).value=document.getElementById(mad).value/10 -(-  document.getElementById(hs).value/10)-(-document.getElementById(gra).value/5)-(-document.getElementById(mas).value/5)-(-document.getElementById(nsm).value)-(-document.getElementById(phd).value)-(-document.getElementById(exp).value)-(-document.getElementById(intv).value); 
} 

</script> 

<?php 
echo " 
<form action='gl1p.php' method='post'>"; 


$noc=20; 




echo " 

<table align='center' border='1' style='border-collapse:collapse' align='center'><tr> 
<th>Sl. No</th><th>Name</th><th>Caste</th><th>Madhyamik</th><th>HS</th> <th>Graduation</th><th>Masters</th><th>NET/SLET/MPhil</th><th>PhD</th> <th>Experience</th><th>Interview</th><th>Calculate</th><th>Score</th> 

</tr>"; 

for ($i=1;$i<=$noc;++$i){ 



echo "<tr><td align='center'></td><td align='center' ><input type='text' size='45' id='name{$i}' name='name[$i]'></td><td><select id='caste{$i}' name='caste[$i]'><option></option><option>UR</option><option>SC</option><option>ST</option><option>OBC</option></select></td><td align='center'><input type='text' size='1' id='mad{$i}' name='mad[$i]'></td><td align='center'><input type='text' size='1' id='hs{$i}' name='hs[$i]'></td><td align='center'><input type='text' size='1' id='gra{$i}' name='gra[$i]'></td><td align='center'><input type='text' size='1' id='mas{$i}' name='mas[$i]'></td><td align='center'><input type='text' size='1' id='nsm{$i}' name='nsm[$i]'></td><td align='center'><input type='text' size='1' id='phd{$i}' name='phd[$i]'></td><td align='center'><input type='text' size='1' id='exp{$i}' name='exp[$i]'></td><td align='center'><input type='text' size='1' id='intv{$i}' name='intv[$i]'></td><td><input type=Button value=Calculate onclick=calculate('tot'.$i, 'mad'.$i, 'hs'.$i, 'gra'.$i, 'mas'.$i, 'nsm'.$i, 'phd'.$i, 'exp'.$i, 'intv'.$i)>";// 
echo "</td><td align='center'><input type='text' size='1' id='tot{$i}' name='tot[$i]'></td></tr>"; 
} 



echo " 
</table> 
<br/><br/><br/> 

<div align='center'><input type='submit' value='Prepare merit list' ></div> 
</form>"; 
?> 
+0

什么是你所得到的错误?我看到你正在这样做:计算('tot'。$ i,'mad'。$ i,'hs'。$ i,'gra'。$ i,'mas'。$ i,'nsm'。$ i ,'phd'。$ i,'exp'。$ i,'intv'。$ i)。这可以吗?你真的想用这些参数调用函数吗?计算(“'tot'.1”,“'mad'.1”....)例如? – Mindastic

+0

你的函数没有被调用,因为它没有正确引用。我会**高度**建议您尽量清理代码......间隔,引用,命名等,这将使调试变得更容易。代码显示为 – scunliffe

+1

乱七八糟。保持你的javascript与php分开 – charlietfl

回答

-1

你可以这样调用

<?php 
    echo ' 
    <script> 
     yourFunction(2,1,33); 
    </script> 
    '; 
?>