javascript - Jquery 停止提交并从表单中获取数据

标签 javascript jquery pug

我正在尝试使用 jquery 从表单中获取数据并使用以下代码停止表单提交:

$form = $('form#signup')
$form.submit(function(event){
  event.preventDefault();
  var $input=$('#signup :input')
  console.log($input.username)
  alert($input.username)
})

但表单仍然发布数据,并且没有出现警告框。firebug 还会提示错误 $ is not defined 和 Node.js 崩溃

表格(写在 Jade 上):

html
  head
    script(src='javascripts/signupValidation.js')
    script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js')
    script(src='javascripts/validator.js')
  body
    form(id='signup',method='post',action='/signup')
      label Firstname
      input(type='text', name='firstname')
      label Lastname
      input(type='text', name='lastname')
      label Username
      input(type='text', name='username')
      label Password
      input(type='password', name='password')
      label Password again
      input(type='password', name='password2')
      label Email
      input(type='email', name='email')

  input(type='submit',value='Sign up', onclick="")

最佳答案

如果您的表单相关 JS 在文件 signupValidation.js 中,您需要将包含该文件的脚本调用移动到 jquery 包含之后。

我可能也会稍微清理一下表单代码:

$('form#signup').on('submit', function(event){
  event.preventDefault();
  var $input = $(this).find('[name=username]');
  console.log($input.val());
  alert($input.val());
})

您可能有兴趣查看 .serialize() ,也是。

关于javascript - Jquery 停止提交并从表单中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850295/

相关文章:

javascript - 在js代码中插入HTML文本

ajax - 在 Express.js 中重定向后 Jade html 未更新

javascript - 如何将xml字段调用到html中

javascript - jQuery 委托(delegate)选择器问题

javascript - jQuery .click 函数 - 防止在函数完成之前再次调用它

javascript - 单击链接时简单淡出图像

javascript - 根据 Select html tag 的选择选项显示表格行

javascript - jade 调节给 var 一个默认值

javascript - Angular.js - 重定向不起作用

javascript - 为什么 async/await 会产生不同的结果