当subId
值是一个字母时,javascript不能重定向,但如果它是一个数字,它可以正常工作。
这是我的代码
if($sql_update==true){
echo "<script type='text/javascript'>
function alertAndRedirect(subId) {
alert('Updated');
window.location = '?tag=subject_entry&opr=upd&rs_id='+subId;
}
alertAndRedirect(".$_POST['sub_code_txt'].");
</script>";
}
变量subId
只接受来自post方法alertAndRedirect(".$_POST['sub_code_txt'].");
的整数或数字。我如何让javascript接受字符串id,以便我可以重定向?
试着用单引号括起来:
alertAndRedirect('".$_POST['sub_code_txt']."');
您需要将您的值括在引号中'...'
:
alertAndRedirect('".$_POST['sub_code_txt']."');
否则将显示为:
alertAndRedirect(valueOfItem)
你想用引号括起它的文本值:
alertAndRedirect('valueOfItem')
给出的两个答案都正确。只是在我的答案中增加了一个改进,以避免可能的错误。所发布的变量也可能包含单引号或双引号,因此添加斜杠将是一个更好的处理。
alertAndRedirect('".addcslashes($_POST['sub_code_txt'])."');