我遇到了这个问题。我希望传递一个我之前刮过的值。具体来说,值是来自IMDB的电影代码。
我在foreach语句中解析了imdb编号,如:
$xml = simplexml_load_file(RSS URL Here);
$items = $xml->xpath('//item');
foreach ( $items as $item) {
$myimdb = $item->imdb;
echo $myimdb; //this echoes fine
<form action='JavaScript:getTrailers({$myimdb})' method='POST' id='{$myimdb}'>
<input type='hidden' id='movieid' name='movieid' value='{$myimdb}'>
<a href='javascript:;' onclick='parentNode.submit();'>Get Trailer</a>
}
我的getTrailers的JS脚本如下:
<SCRIPT LANGUAGE="JavaScript">
function getTrailers(movieid)
{
$("#mytrailers").load("trailersearch.php",$("#test" + movieid).serialize());
}
</SCRIPT>
在我的trailersearch.php中,我的代码如下所示:
$theimdb = $_GET["movieid"];
echo "{$theimdb}<br>";
如果电影的imdb ID不是以0开头,如1234567,则代码执行正确,trailersearch.php正确回显数字。
但是如果一个ID从零开始,比如0123456,那么$ theimdb变量是空白的并且回显空白。许多theolder IMDB电影以0或甚至00开始。
任何人都可以帮我解决这个问题。非常感谢任何帮助或建议。我不是超级专家。
非常感谢,
Hernando的
答案 0 :(得分:0)
<form action='JavaScript:getTrailers({$myimdb})'
这就是问题 - 你忽略在参数值周围添加引号,这样对于JavaScript来说 是一个数字 - 数字不是 “领先的零”。
所以做那个
<form action='JavaScript:getTrailers("{$myimdb}")'
它应该可以正常工作。
(你很幸运,你没有遇到更严重的问题,因为给定正确的数字,JS可以将该值解释为 octal 号码 - 然后你不仅会丢失领先的零,但完全不同的价值......)