我有一个带有textarea的HTML表单。
当输入包含一些文字的文本时,我的Javascript格式错误并且不会加载。
表单提交到PHP脚本,输出下面的javascript。
我该如何解决这个问题?
function confirmsms() {
var redirect = confirm("Er zullen 791 smsjes worden verzonden, klik op OK om door te gaan");
if (redirect == true) {
window.location.href = 'send.phpregio=%&vakgebied=Loodgieter&disciplines=&bericht=aasdasd
asdasda
sdasdasd';
}
}
</script>
答案 0 :(得分:0)
更改为:
function confirmsms() {
var redirect = confirm("Er zullen 791 smsjes worden verzonden, klik op OK om door te gaan");
if (redirect == true) {
window.location.href = 'send.php?'
+ 'regio=%&vakgebied=Loodgieter&disciplines=&'
+ 'bericht=aasdasdasdasdasdasdasd';
}
}
更新:看来你的php变量$bericht
中有换行符。让我们清理变量以删除空格和换行符,如下所示:
$bericht = str_replace(array(' ', "\n", "\t", "\r"), '', $bericht);
然后您可以像以前一样使用您的代码。为了安全起见,我会清理所有将被放入javascript中的php变量。
<HTML>
<HEAD>
<script type=\"text/javascript\">
function confirmsms() {
var redirect = confirm(\"Er zullen $count smsjes worden verzonden, klik op OK om door te gaan\");
if (redirect == true) {
window.location.href = 'send.php?regio=$regio&vakgebied=$vakgebied2&disciplines=$disciplines&bericht=$bericht'; }
}
答案 1 :(得分:0)
看起来问题是您没有对您的网址进行编码!在您的问题中,您使用GET方法传递数据,您的数据将成为URL本身的一部分!
发送前只需使用encodeURI()即可!所以你的代码看起来应该是
Cursor mCursor = db.rawQuery("select * from "
+ ESERVICE_TICKET_SYNC_TABLE + " where " + ESERVICE_SEND_STATUS
+ " = ? AND " + ESERVICE_USER_ID + " = ? order by date("
+ ESERVICE_CREATION_DATE + ") DESC ", new String[] {
send_status, user_id });
在后端,您可以使用string urldecode ( string $str )
解码网址希望你这就是你想要的!