首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交带有html5验证和jquery的表单

提交带有html5验证和jquery的表单
EN

Stack Overflow用户
提问于 2013-05-23 18:19:46
回答 1查看 9.8K关注 0票数 2

我在验证表单时遇到了问题,因为如果我在表单的每个元素中使用必需的属性并按submit键,直到表单填写完毕,表单才会被处理,但是在我的文件中,我添加了一个函数functions.js单击按钮发送数据表单,html5验证不再受到尊重,并且想知道为什么会发生这种情况。

没有jquery 的

表单

代码语言:javascript
复制
<form class="user-form" method="post">
<p><i>Todos los campos son requeridos!</i></p>
<p> 
    <input id="uName" class="span5" name="uName" type="text" placeholder="Nombre completo" required/>
</p>
<p> 
    <input id="uEmail" class="span5" name="uEmail" type="email" placeholder="E-mail" required/>
</p>
<p> 
    <input id="uUser" class="span5" name="uUser" type="text" placeholder="Usuario" required/>
</p>
<p> 
    <input id="uPasswd" class="span5" name="uPasswd" type="password" placeholder="Contraseña" required/>
</p>
<p> 
    <select id="uType" class="span5" name="uType" required>
        <option value="0">Tipo de usuario</value>
        <option value="1">Emisor</value>
        <option value="2">Revisor</value>
    </select>
</p>
<p>
    <input class="saveUser btn btn-primary" type="submit" value="Guardar"/>
</p>
</form>

jQuery事件

代码语言:javascript
复制
$('.saveUser').on('click',function() {
data = $('.user-form').serializeArray();

data.push({
    name: 'tag',
    value: 'saveUser'
})

console.log(data);
return false;
    /* I put the above code for check data before send to ajax*/
$.ajax({
        url: url,
        type: 'post',
        data: data,
        success: function (data) {
            if (data.success) {

            } else {

            }
        }
});
return false;
})

然后,如果我使用jquery发送带有"required“属性的ajax html5验证的数据,则不起作用。

如果我将单击..save user更改为on表单,则执行html5验证,但不执行jquery中的代码。

附加信息

使用上述表格并包括在两部分。

代码语言:javascript
复制
<a href="#" id="lSignup">Sign-up Free</a>
<section id="sign-up">
    /* Form */
</section>
<a href="#" id="lEdit">Edit information</a>
<section id="edit-user">
    /* Form */
</section>

然后,当我在lSignup中单击时,向用户表单添加一个id。

代码语言:javascript
复制
$('#lSignUp').on('click', function() { $('.user-form').attr('id','save-user'); })

如果我点击lEdit..。

代码语言:javascript
复制
$('#lEdit').on('click', function() { $('.user-form').attr('id','edit-user'); })

在向用户表单添加ID之后,将显示该表单来填充或编辑字段,并使用事件jquery保存数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-23 18:30:01

代码语言:javascript
复制
$(document).on('submit','#save-user',function(e) {
  e.preventDefault();
  data = $(this).serializeArray();

  data.push({
    name: 'tag',
    value: 'saveUser'
  })

  console.log(data);

    /* I put the above code for check data before send to ajax*/
    $.ajax({
        url: url,
        type: 'post',
        data: data,
        success: function (data) {
            if (data.success) {

            } else {

            }
        }
   });
return false;
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16721168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档