将字符串传递给javascript函数参数将被解析为整数
在向javascript函数传递字符串方面有很多问题——这不是我在这里要问的。我的问题是,我必须将整数(客户ID)作为字符串从PHP传递给javascript函数。我必须这样做的原因是,有时客户ID可以有前导零,我不知道需要多少前导零,因此我无法在javascript中填充或格式化前导零 下面是调用我的函数的PHP。$行是odbc查询的结果数组将字符串传递给javascript函数参数将被解析为整数,javascript,php,Javascript,Php,在向javascript函数传递字符串方面有很多问题——这不是我在这里要问的。我的问题是,我必须将整数(客户ID)作为字符串从PHP传递给javascript函数。我必须这样做的原因是,有时客户ID可以有前导零,我不知道需要多少前导零,因此我无法在javascript中填充或格式化前导零 下面是调用我的函数的PHP。$行是odbc查询的结果数组 parse_str("customerId=" . $row["customerId"], $output); // This is called vi
parse_str("customerId=" . $row["customerId"], $output);
// This is called via AJAX, so returning HTML as response
...
echo "<td><input type='checkbox' id='" . $output["customerId"] . "' onclick='disableAccount(" . $row["userAccountId"] . ", " . $output["customerId"] . ");' checked /></td>
例如,我有一个customerId“026608”。调用disableAccount
函数时,customerId
参数被解析为一个整数,去掉前导零,现在我有一个参数“26608”
如上所述,我不能使用填充将前导零添加到customerId,因为customerId上并不总是有前导零。customerId也可以有多个前导零
如何让函数解析字符串,即“026608”作为带前导零的参数?提前谢谢 尝试传递/转义引号,以便js将其解析为字符串
(\"" . $row["userAccountId"] . \""
尝试传递/转义引号,以便js将其解析为字符串
(\"" . $row["userAccountId"] . \""
john Smith的Great spot,也是另一个用于前导零的有用函数(尽管在本例中,并不比john的效率高)
function disableAccount(userAccountId, customerId) {
// Do stuff here
}
$id = 321;
function disableAccount($userAccountId, customerId)
{
//Result is 000321
$userAccIdWithZeros = sprintf('%06d', $userAccountId);
//Rest of your code...
}
john Smith的Great spot,也是另一个用于前导零的有用函数(尽管在本例中,并不比john的效率高)
function disableAccount(userAccountId, customerId) {
// Do stuff here
}
$id = 321;
function disableAccount($userAccountId, customerId)
{
//Result is 000321
$userAccIdWithZeros = sprintf('%06d', $userAccountId);
//Rest of your code...
}
在PHP中生成HTML时使用该语法,可读性更强:
echo <<< _
<td>
<input type="checkbox"
id="{$output['customerId']}"
onclick="disableAccount('{$row['userAccountId']}', this.id);"
checked />
</td>
_;
echo在PHP中生成HTML时使用该语法,它更具可读性:
echo <<< _
<td>
<input type="checkbox"
id="{$output['customerId']}"
onclick="disableAccount('{$row['userAccountId']}', this.id);"
checked />
</td>
_;
echo如果它有前导零,那么它不是整数,而是字符串。如果需要使用前导零进行处理,请全程将其作为字符串发送。php在将参数写入onclick处理程序时,不会将该值括在引号中,因此它将是一个数字。“上面的操作很好,并正确地将带前导零的字符串传递给函数。”不,不是。你在使用什么数据库?如果它有前导零,它不是整数,它是字符串。如果需要使用前导零进行处理,请全程将其作为字符串发送。php在将参数写入onclick处理程序时,不会将该值括在引号中,因此它将是一个数字。“上面的操作很好,并正确地将带前导零的字符串传递给函数。”不,没有。你用的是什么数据库?很有效,谢谢。我认为它被正确地传递了,因为我还在while循环中使用这个值来设置元素的ID。由于ID在那里输入正确,我认为它被正确地传递给函数。不客气,很高兴它有帮助;)这样,您的js函数被称为disableAccount(“026608”…
而不是disableAccount(026608…
这很有效,谢谢。我认为它被正确地传递了,因为我还在while循环中使用这个值来设置元素的ID。由于ID被正确地传入了那里,我认为它被正确地传递给了函数。不客气,很高兴它有帮助;)这样你的js函数被称为disableAccount(“026608”…
而不是disableAccount(026608…
谢谢,我不知道!谢谢,我不知道!