javascript - 使用 Jquery/Javascript 验证提交和重定向表单的最佳实践

标签 javascript jquery html forms validation

我有一个简单的表格:

<form id="search-form" >
       <input type="text" name="location" id="search-form-location" value="London">
       <button type="submit">Submit</button>            
  </form>

我想要做的是验证输入字段,如果一切正常,则将用户发送到一个新页面,该页面使用输入值作为网址的一部分,而不是查询字符串值,例如“/search/London” 。如果验证失败,我想处理有关哪个字段不正确的信息。

我应该怎么做?

最佳答案

HTML

<form id="search-form" method="get" >
       <input type="text" name="location" id="search-form-location" value="London">
       <button type="submit" id="search">Submit</button>            
  </form>

如果您使用jQuery,则绑定(bind)提交按钮单击事件并处理您的要求:

按钮点击事件:

$( "#search" ).click(function(event) {
  event.preventDefault();
  var inputVal = $('#search-form-location').val();
  if(vaildateUserInput(inputVal)) {
    $('#search-form').attr('action', 'search/' + inputVal);
    $("#search-form").submit();
  } else {
     // Show error message to user
  }
});

或者

表单提交事件

$( "#search-form" ).submit(function(event) {
  event.preventDefault();
  var inputVal = $('#search-form-location').val();
  if(vaildateUserInput(inputVal)) {
    $(this).attr('action', 'search/' + inputVal);
    $(this).submit();
  } else {
     // Show error message to user
  }
});

注意:定义 vaildateUserInput() 函数,该函数将在验证后返回 true|false

希望这对您有帮助。使用最适合您要求的事件。

关于javascript - 使用 Jquery/Javascript 验证提交和重定向表单的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33012979/

相关文章:

jquery - 将切换面板附加到圆形图片右侧的最佳方法是什么?

html - 使复选框和单选标签可点击

javascript - api调用返回undefined后的Meteor方法

javascript - 从下拉列表中选择多个值并调用 javaScript 函数

javascript - 侧边栏导航不显示

jquery - HTML 中的水平和对 Angular 线表格

javascript - 带有表单的 JSP 和 JavaScript

jQuery 延迟

jquery - 我的 UL 放在 TD 中时没有响应

css - Thymeleaf - 如何自动调整内容片段?