将一系列数字作为参数传递给PHP中的JavaScript函数时出错
Error while passing series of numbers as a parameter to a JavaScript function in PHP
这是我的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">
也许这就是问题所在。如何获得正确的格式?
问题在于参数的格式化方式。如果你在浏览器中查看页面源,你会看到参数中的换行符。如果你想让信息框显示所有数字,你可以尝试这样做:
$numbers = ""
for ($i=1;$i<=10;$i++)
{
$numbers .= "$i''n";
}
echo "<input type='button' onclick='"ShowNumbers('$numbers')'" value='Show Numbers'>";
在构建HTML:时使用引号
echo '<input type="button" onclick="ShowNumbers(''' . $numbers . ''')" value="Show Numbers">';
与其他属性一样,尝试用双引号将onClick属性值括起来
onclick="ShowNumbers('$numbers')"
试试这个;
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" />
您缺少引号。当使用PHP和HTML时,您应该使用单引号进行回显,这样您就可以在字符串中使用双引号,如下所示:
echo '<input type="button" onclick="ShowNumbers(''' . $numbers . ''')" value="Show Numbers" />';
此外,最好将回车保留在$numbers
变量之外,并在打印时对其进行格式化。
试试这个
<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>
相关文章:
- javascript中的数组出错
- JavaScript中的函数和对象之间没有区别吗?
- Javascript中的空白是什么
- 为什么要使用0>javascript中的0
- 如何制作简单的php'在Javascript中的foreach等价物
- javascript中的布尔条件
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 验证Javascript中的Textarea
- 可以't使用Appcelerator将JSON文件解析为JavaScript中的TableView
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 仅在IE中,javascript中的时区名称不正确
- JavaScript 中的嵌套函数和 “this” 关键字
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- JavaScript 中的高阶函数
- Javascript中的备选注释方法
- 如何使用JavaScript中的用户输入创建序列/序列
- 无法理解JavaScript中的静态方法
- 如何附加'#'到Javascript中的值
- javascript 中的全局函数
- 用javascript中的param执行动态函数