Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 递交表格_Javascript_Jquery_Jquery Ui_Jquery Plugins - Fatal编程技术网

Javascript 递交表格

Javascript 递交表格,javascript,jquery,jquery-ui,jquery-plugins,Javascript,Jquery,Jquery Ui,Jquery Plugins,我有一个脚本,它显示一个带有文本输入和按钮的表单。 文本输入是必需的,但脚本仅验证输入是否为空/不为空 我需要更进一步,这样它只验证字母数字 我无法访问处理表单提交/验证的文件,因为有1000个文件 我尝试了这个脚本,试图在输入字段不是字母数字的情况下停止表单提交。但它不起作用,不管输入了什么,表单仍然提交。我彻底测试了validate\u text\u field(),效果良好 <script> jQuery(document).ready(function() {

我有一个脚本,它显示一个带有文本输入和按钮的表单。 文本输入是必需的,但脚本仅验证输入是否为空/不为空

我需要更进一步,这样它只验证字母数字

我无法访问处理表单提交/验证的文件,因为有1000个文件

我尝试了这个脚本,试图在输入字段不是字母数字的情况下停止表单提交。但它不起作用,不管输入了什么,表单仍然提交。我彻底测试了
validate\u text\u field()
,效果良好

<script>
    jQuery(document).ready(function() {
        function validate_text_field( input_txt_val ){

            var letters = /^[0-9a-zA-Z]+$/;
            input_txt_val = $.trim( input_txt_val );
            if( input_txt_val.match(letters) ){
                    return true;
            }else{
                    return false;
            }

        }

        jQuery(".asp_product_buy_btn_container .pricing-button").click(function(e){

            var input_txt_val = $( this ).closest( '.asp_all_buttons_container' ).siblings( 'form.asp-stripe-form' ).find( ".asp_product_custom_field_input" ).val();
            var is_valid = validate_text_field( input_txt_val );
            if( is_valid ){
                alert('is valid alphanumeric');
                return true;
            }else{
                alert('is not valid alphanumeric');
                e.preventDefault()
                return false;
            }

        });
    });
</script>

jQuery(文档).ready(函数(){
函数验证文本字段(输入文本值){
变量字母=/^[0-9a-zA-Z]+$/;
input_txt_val=$.trim(input_txt_val);
如果(输入值匹配(字母)){
返回true;
}否则{
返回false;
}
}
jQuery(“.asp\u product\u buy\u btn\u container.pricing button”)。单击(函数(e){
var input_txt_val=$(this).最近('.asp_all_buttons_container')。同级('form.asp stripe form')。查找(“.asp_product_custom_field_input”).val();
var为有效=验证文本字段(输入文本值);
如果(是否有效){
警报('是有效的字母数字');
返回true;
}否则{
警报('不是有效的字母数字');
e、 预防默认值()
返回false;
}
});
});
如何阻止此表单提交?

preventDefault()`当它无效时。事件处理程序的返回值可能无法正确处理

jQuery(document).ready(function() {
   jQuery("#stripe_button_0").click(function(e){
      var is_valid = validate_text_field();
      if( is_valid ){
         return true;
      }else{
         e.preventDefault()
         return false;
      }
   });
});

在您的URL中,如果调用validate_text_field(),则会出现错误:

ReferenceError: validate_text_field is not defined
因此,首先尝试解决这个问题

两个小贴士: 您可以使用$而不是“jQuery”。 此外,该片段:

var is_valid = validate_text_field();
  if( is_valid ){
     return true;
  }else{
     return false;
  }
可以简化为

return validate_text_field();

我们需要帮助您调试的代码部分是您没有显示的部分<代码>验证文本字段()。也就是说,如果你搜索的话,关于将输入限制为字母数字值的问题已经有数千个了。当你的代码与上面网页中的表单结合使用时,你的代码可以很好地工作
return false
实际上与
preventDefault()
相同(尽管它也会停止事件传播)。如果这不起作用,那么
preventDefault()
也不会起作用。不幸的是,preventDefault也不起作用。如果我输入一个带空格的字符串(不是字母数字),表单将被提交并打开弹出窗口。还有其他想法吗?你能再检查一下吗?我把它放在我的开发服务器上,我上传了这个函数。有什么想法吗?它现在好像起作用了,不是吗?我看到了您添加的警报,它似乎验证得很好