这是我的PHP代码 -
for ($i=1;$i<=10;$i++)
{
$numbers .= $i."\n";
}
echo "<input type='button' onclick=ShowNumbers('$numbers') value='Show Numbers'>";
我的Javascript代码 -
function ShowNumbers(numbers)
{
alert("Numbers:: "+numbers);
}
但是当我点击按钮显示数字时,没有任何反应。怎么回事?
在FireBug中,我检查它显示的按钮元素 -
<input type="button" value="Show Numbers" ');="" 10="" 9="" 8="" 7="" 6="" 5="" 4="" 3="" 2="" onclick="ShowNumbers('1">
可能是问题所在。我如何以正确的格式获得它?
答案 0 :(得分:2)
问题在于您格式化参数的方式。如果您在浏览器中查看页面源代码,那么您将在参数内看到换行符。如果您想让消息框显示所有数字,您可以尝试这样做:
$numbers = ""
for ($i=1;$i<=10;$i++)
{
$numbers .= "$i\\n";
}
echo "<input type='button' onclick=\"ShowNumbers('$numbers')\" value='Show Numbers'>";
答案 1 :(得分:1)
在构建HTML时使用引号:
echo '<input type="button" onclick="ShowNumbers(\'' . $numbers . '\')" value="Show Numbers">';
答案 2 :(得分:1)
尝试用双引号括起onClick属性值,就像其他属性一样。:
onclick="ShowNumbers('$numbers')"
答案 3 :(得分:1)
试试这个;
for ($i=1;$i<=10;$i++)
{
$numbers .= $i . ",";
}
echo "<input type=\"button\" onclick=\"ShowNumbers('" . $numbers . "')\" value=\"Show Numbers\" />";
用;
function ShowNumbers(numbers)
{
alert("Numbers = " + numbers);
}
它应呈现为;
<input type="button" onclick="ShowNumbers('1,2,3,4,5,6,7,8,9,')" value="Show Numbers" />
答案 4 :(得分:1)
你缺少引号。使用PHP和HTML时,您应该使用单引号进行回显,这样您就可以在字符串中使用双引号:
echo '<input type="button" onclick="ShowNumbers(\'' . $numbers . '\')" value="Show Numbers" />';
此外,最好将回车符离$numbers
变量并在打印出来时格式化。
答案 5 :(得分:0)
试试这个
<html>
<head>
<script type = "text/javascript">
function ShowNumbers(numbers){
alert(numbers);
}
</script>
<head>
<body>
<?php
$numbers='';
for ($i=1;$i<=10;$i++)
{
$numbers .= $i;
}
echo "<input type='button' onclick='ShowNumbers($numbers)' value='Show Numbers'>";
?>
</body>
</html>