【发布时间】:2013-07-18 15:11:42
【问题描述】:
我的网站上有一个表单,当用户单击提交时,在提交表单之前运行一些基本的 JS 验证,但是在检查某些字段时我收到错误“未终止的字符串文字”。
我了解这个错误是什么(在这种情况下,用户在文本区域中添加换行符)但我想不出避免/修复它的方法。
这是我声明表单的方式 -
<form id="<?php echo $form_name; ?>"
name="<?php echo $form_name; ?>"
class="standard-form"
method="POST" action=""
onsubmit="return validate_form('<?php echo $form_name; ?>')">
这就是我如何检查给我带来麻烦的字段 -
var your_query = document.forms['enquiry']['your_query'].value
if(your_query === ''){
result = false;
}
如有任何帮助,将不胜感激。
谢谢。
【问题讨论】:
-
未终止的字符串文字通常是由 JavaScript 表达式中使用的未转义值引起的,但您发布的代码中没有任何内容(除非您有一个疯狂的表单名称)--你是确定您发布了错误发生的位置?
-
@Richards 的回答似乎合乎逻辑。如果这对您不起作用,则此 SO 帖子包含许多需要检查的内容:stackoverflow.com/questions/227552/…。
-
这种情况下的错误是因为用户有时会在'your_query'字段中添加换行符,这是一个文本区域。您是对的,尽管在此过程中生成的错误比我最初想象的要晚一点,但此时我正在制作一个要传递给 AJAX 页面的对象 - 通过 PHP 编写一个具有换行符的值实际上是什么造成这种情况,而不是简单的换行符。
-
@Dave Newton -
return validate_form('<?php echo $form_name; ?>')不是 JavaScript 表达式中使用的未转义值吗? -
@RichardJPLeGuen "[...] 除非你有一个疯狂的表单名称 [...]"
标签: javascript