2012-12-10 60 views
-2
function f_check_NumOrLett(form){ //Only letters and numbers allowed 

     var text = form.bucketname.value; 
     alert(text); 

     var filter = /^[A-Za-z0-9]+$/; 
     if (filter.test(text)) { 
      form.submit(); 
     } else { 
      form.bucketname.select(); 
      alert("Only Allow letters and numbers!"); 
     } 
    } 

当我使用此功能时,alert(文本)可以工作,但它不能提交表单或提示“仅允许字母和数字”消息。它似乎没有执行中频条件。Javascript:只允许使用字母和数字

+0

我不明白你的意思是“它不能访问,如果条件”。你能说清楚吗? –

+0

你想完成什么任务?你到底做了什么来尝试解决这个任务?你的方法为什么没有工作? – jbabey

+0

什么输入失败? – argentage

回答

5

如果你很酷与支持浏览器和无传统,您可以使用新的pattern属性,它可以用input elements(我想你在这里使用)

例子:

<input type="text" pattern="[A-Za-z0-9]"/> 

pattern属性采用正常正则表达式语法。此外,您可以添加required(布尔值)属性,该属性指示表单提交仅在符合该模式时才起作用。

<input type="text" pattern="[A-Za-z0-9]" required/> 
+0

请评论downvote。 – jAndy

+3

我没有低调,但我敢打赌,这是因为虽然这是他们尝试做的很好的解决方案,但它并没有解决他们为什么脚本无法正常工作的直接问题。我认为使用'pattern'很好,但是它不允许在脚本中进行太多的自定义 - 对于正常的表单提交很好,尽管 – Ian

+1

它怎么可能是一个downvote。即使不解决眼前的问题(甚至可能),它是一个很好的替代方案。它不像完全没有背景或错误。 – jAndy

相关问题