jquery提交调用函数

时间:2015-06-18 03:39:53

标签: jquery

jquery的

require 'net/http'

uri = URI('https://api.wmata.com/StationPrediction.svc/json/GetPrediction/{All}')

uri.query = URI.encode_www_form({
   # Specify your subscription key
   'api_key' => 'I have the key.',
})

request = Net::HTTP::Get.new(uri.request_uri)

# Basic Authorization Sample
# request.basic_auth 'username', 'password'


response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end

puts response.body  



/rubies/ruby-2.2.2/lib/ruby/2.2.0/uri/rfc3986_parser.rb:66:in `split': bad URI(is not URI?): https://api.wmata.com/StationPrediction.svc/json/GetPrediction/{StationCodes} (URI::InvalidURIError)
    from /Users/manshu/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/uri/rfc3986_parser.rb:72:in `parse'
    from /Users/manshu/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/uri/common.rb:226:in `parse'
    from /Users/manshu/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/uri/common.rb:713:in `URI'
    from data.rb:3:in `<main>'

我是jquery的新手,为什么我的提交不会激活里面的功能?如果是这样验证的好方法?

2 个答案:

答案 0 :(得分:1)

您的代码确实调用了验证函数,但它会立即提交表单,因此您不知道是否有任何验证。如果你这样做:

$('#contact-form').submit(function () {
    if (!(checkgender() && checkname() && checkemail()){
        //tell the user they screwed up
        return false;
    }
});

提交表单后,它会运行验证功能。如果它们都没有全部归还,则不会提交表格,此时您应该告知用户他们搞砸了。如果验证成功,则提交表单。

对于你的第二个问题,是的,这是一个很好的方法,但是,在客户端验证之后,你应该总是进行额外的服务器端验证。

...以及@ ethorn10所说的,修复你缺少的括号。

答案 1 :(得分:0)

默认情况下'.submit function'将提交表单,以防止我们必须使用   event.preventDefault() JSFIDDLE

//jquery started
   $(document).ready(function () {
   $("#username").keyup(checkname);
   $("#gender").keyup(checkgender);
   $("#email").keyup(checkemail);
            $('#contact-form').submit(function(event){
                event.preventDefault(); // preventing the default form submission
                checkgender();
                checkname();
                checkemail();
            })
        });