使用斯堪的纳维亚字母和编码时,我遇到了问题。使用下面的代码,javascript将一些额外的编码添加到变量
<script>
function doit(params) {
var url = "/linkto/code.php" + params;
window.open(url,"Doit","width=750, height=600");
}
</script>
<?php
$values = urlencode($var1); // encoding skandinavian letters
$param = '?test='.$values; // add them to variable
echo '<a href="javascript:doit('.$param.')">Do it!</a>'; // link to page
?>
将上面的代码更改为php时,更改不会发生,问题就会消失。
$values = urlencode($var1); // encoding skandinavian letters
$param = '?test='.$values; // add them to variable
// link to page
echo '<a href="/linkto/code.php"'.$param.'>Do it!</a>';
大家好,
我无法使其工作,utf-8或iso-8859-1之间没有区别。 当使用javascript-function或direct link时,结果是别的。 你可以在这里试试: http://www.ajl.fi/tmp/test.php
这是代码:
test.php的:
<script type="text/javascript">
function doIt(params) {
var url = "doit.php" + params;
window.open(url,"doit");
}
</script>
<?php
$var1 = 'pähkinä';
$var1 = urlencode($var1);
echo sprintf("<a href=\"javascript:doIt('?var1=%s');\">Do it - call</a>",$var1)."<br>";
echo sprintf("<a href=\"doit.php?var1=%s\" target=\"_blank\">Do it - link</a>",$var1);
?>
这是doit.php:
<?php
var_dump($_GET);
?>
答案 0 :(得分:0)
在ist代码中,此代码中有两个问题
1)短标签在<?php ?>
这里不起作用:
echo '<a href="javascript:doit('<?=$param?>')">Do it!</a>'; // link to page
2)你忘了在这里添加引号:
window.open(url,"Doit",width=750, height=600"); //missing quote here
修改后的代码:
<?php
$var1 = 'p%E4hkin%E4';
$values = urlencode($var1); // encoding skandinavian letters
$param = '?test='.$values; // add them to variable
?>
<a href="javascript:doit('<?=$param?>')">Do it!</a>
<script type="text/javascript">
function doit(params) {
var url = "/linkto/code.php" + params;
console.log(url);
window.open(url,"Doit","width=750, height=600");
}
</script>
答案 1 :(得分:0)
我回答自己 - 解决了。
IE,Edge和Chrome,两种情况都正常。 Firefox有问题。使用时
<select id="VIPGuests" name="VIPGuests" style="width:200px" tabindex="0"><option value="">Select VIP</option>
<% foreach (var authorizedGuest in Model.XYZ)
{
if(Model.VIPGuests == authorizedGuest.Key )
{%>
<option selected="selected" value=<% = authorizedGuest.Key%>> <% = authorizedGuest.Value%> </option>
<% }
else
{ %>
<option value=<% = authorizedGuest.Key%>> <% = authorizedGuest.Value%> </option>
<% }
} %>
</select>
结果不正确,但使用时
<a href="javascript:doit('<?=$param?>')">Do it!</a>
似乎适用于所有浏览器