Javascript 为什么我的提交条件没有返回错误?

Javascript 为什么我的提交条件没有返回错误?,javascript,html,webforms,Javascript,Html,Webforms,在问了几个问题之后,我设法创建了这个表单。如果提交的值为0,则返回false没有问题,但如果是字符串“Cambia de ciudad”,则无法返回false。我肯定我弄乱了引号或类似的内容。这是表单: <form role="search" method="get" action="http://chusmix.com/" onsubmit="if (document.getElementById('s')== 'Cambiá de ciudad") return false;'>

在问了几个问题之后,我设法创建了这个表单。如果提交的值为0,则返回false没有问题,但如果是字符串“Cambia de ciudad”,则无法返回false。我肯定我弄乱了引号或类似的内容。这是表单:

<form role="search" method="get" action="http://chusmix.com/" onsubmit="if (document.getElementById('s')== 'Cambiá de ciudad") return false;'>

<input class="ubicacion" name="s" id="s" tabindex="1" onsubmit="if ((document.getElementById('s').value.length < 4) || (document.getElementById('s')== 'Cambiá de ciudad')) return false;" onfocus="if (this.value=='Cambiá de ciudad') this.value = ''" onblur="if(this.value == '') this.value = 'Cambiá de ciudad'" type="text" maxlength="80" size="28" value="Cambiá de ciudad">

<input type="submit" id="searchsubmit" value="Buscar" />
</form>

首先,因为你的引号弄乱了

使用
打开属性值,并使用
打开要将元素与之进行比较的字符串。然后继续尝试使用
关闭该字符串,并使用
关闭属性值

其次,因为您试图将一个元素与字符串进行比较,所以当您想要比较它的值时

部分固定的代码如下所示:

onsubmit="if (document.getElementById('s').value == 'Cambiá de ciudad') return false;">
要正确固定,它将使用

另一个问题是:

<input … onsubmit="…

我不确定它是否是网页美化工具,但您的代码似乎没有正确使用单引号和双引号。此外,您不需要按元素进行比较,而是按文本进行比较。请尝试以下操作:

onsubmit="if (document.getElementById('s').value == 'Cambiá de ciudad') return false;"

+1、+避免混淆标记和行为。这很混乱且容易出错。