【发布时间】:2012-12-29 16:30:43
【问题描述】:
作为一个基于 Web 编程的新手,我无法理解为什么下面的 pattern 属性字段由于我的 javascript 而无法检查文本字段的有效性。
<form id="aForm">
<input type="text" pattern="^[ a-zA-Z0-9,#.-]+$" id="address" title="Standard address"/>
<input type="submit" id="open" value="Start"/>
</form>
然后将表单内容发送到 javascript 文件,然后通过websocket 将其发送到服务器,如下面的代码片段所示。但是它忽略了通过pattern 属性验证表单。
$(document).ready(function() {
$("#open").click(function(evt) {
evt.preventDefault();
var form = $('#aForm').serialize();
webSocket = new WebSocket("ws://localhost:9999/mh");
webSocket.onopen = function()
{
webSocket.send(form);
};
REST OF CODE....
似乎出于某种原因,这会阻止文本在发送前被检查。我想知道为什么以及如何确保表单通过pattern 属性进行验证。
谢谢
【问题讨论】:
-
为了更好的措施,请重写您的输入字段以在相邻属性之间插入空格(例如将
id="address"title="Standard address"更改为id="address" title="Standard address") -
@EliranMalka;进行了更改。当我把它复制过来时,它一定已经被压缩了。
-
绑定javascript发送到
$('#aForm').submit()而不是$('#open').click()。 -
@DCoder:感谢您解决了问题并按预期工作。感谢您对我所有问题的帮助。如果您想回答这个问题,那么我可以投票并接受您的回答。
标签: javascript jquery html websocket