【问题标题】:HTML form submitting values with multiple double quotesHTML表单提交带有多个双引号的值
【发布时间】:2015-03-25 12:45:20
【问题描述】:

HTML 代码:

<form action="...">
   <textarea name="str">"abc"</textarea>
</form>

JS 代码:

 console.log($("textarea").val());   //output "abc" -> correct
 var v = $("textarea").val();   //adding a watch while javascript debugging to "v" shows ""abc""

服务器端是用java编写的。发现它接收到 textarea 的值为""abc""

当 textarea 再次填充保存的值时。即在刷新和一些 ajax 实现时。它将值显示为“abc”。对我来说,这似乎是一个普遍而频繁的情况。但找不到任何解决方案。

【问题讨论】:

    标签: java html forms textarea double-quotes


    【解决方案1】:

    因为刷新时再次重新运行相同的代码时,表单的 textarea 将始终加载“abc”。

    您将“abc”作为默认设置在文本区域的目的是什么?也许您可以考虑使用这样的占位符并将文本区域留空:

    <form action="...">
       <textarea name="str" placeholder = "abc"></textarea>
    </form>
    

    【讨论】:

    • 用户似乎正在尝试解决任何字符串的问题。例如 - This is a "textarea" 将导致 "This is a "textarea""。
    • 哦,是的,可能是。如果不适用于他,我将删除我的答案。
    【解决方案2】:

    您能否提供有关 ajax 和任何其他在刷新时运行的代码的更多信息?

    当您获取一个值并将其存储到 textarea 中时,您可能会添加引号。不过,这纯粹是一种猜测,可能并不准确,具体取决于设置的方式。这是我想看的第一个地方。

    【讨论】:

    • @pravinautade 我仍然看不到完全发生了什么。我想我对这个问题有了更好的了解。你是说存储的值和它填充的值是一样的,但实际发送的值原来只有单引号?我建议只添加一个动作事件处理程序,当文本区域更改或页面加载后,检查所有字段并用单引号替换所有双引号。我相信这是为了转义字符串,所以它最初不会在没有引号的情况下存储,但是在服务器端接收到它后它不会更正它是一个麻烦
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多