在Javascript中解析textarea的输出

时间:2015-06-25 11:57:05

标签: javascript php

我有一个带有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>

2 个答案:

答案 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变量$b‌​ericht中有换行符。让我们清理变量以删除空格和换行符,如下所示:

$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=$b‌​ericht';            }
             } 

答案 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 )

解码网址

希望你这就是你想要的!