【问题标题】:Why my jquery validator doesn't show up any alert msg?为什么我的 jquery 验证器没有显示任何警报消息?
【发布时间】:2015-09-28 12:50:39
【问题描述】:

我创建了一个带有 jquery 验证器的表单。你可以在这里看到它http://jsfiddle.net/5WMff/1327/

然而,当我填写所有数据并点击发送按钮时 - 我的页面重新加载并且 php 脚本中的任何内容(目前仅包含 echo "hey!!" 消息)都不会显示在屏幕上。 我相信我的语法可能存在一些问题,但我在 chrome 的开发人员控制台中没有看到任何问题。 您能否验证我的小提琴并检查这些部分是否正确:

p.name = "p";
p.type = "hidden";
p.value = hex_sha512($("#password").val());

// Make sure the plaintext password doesn't get sent. 
$("#password").val() = "";

以后:

$.ajax({
  url: 'includes/register.inc.php',
  type: "POST",
  data: {
    username: username,
    email: email,
    p : p,
    company: company,
    contact: contact,
    phone: phone,
    address1: address1,
    address2: address2,
    city: city,
    zipcode: zipcode,
    state: state,
    country: country

  },
  dataType: 'text',
  success: function(response) {
    alert('success');   
  },
  error: function(response){
    alert('ERROR');
  }
});

【问题讨论】:

  • $("#password").val() = "";
  • 感谢您指出这一点,我该如何解决?
  • $("#password").val(""); 还有这一行:p.value = hex_sha512($("#password").val()); hex_sha512 未定义
  • 请不要使用jquery-validate 标签,除非您的问题是关于 jQuery Validate 插件的。我也认为没有理由用 PHP 来标记它。

标签: javascript jquery ajax validation


【解决方案1】:

我猜你必须发送它的值而不是p html 元素:

p : p.value,

并且您必须重置密码元素,例如:

$("#password").val('');

【讨论】:

    【解决方案2】:

    尝试对数据进行字符串化

    JSON.stringify( data: {
    username: username,
    email: email,
    p : p,
    company: company,
    contact: contact,
    phone: phone,
    address1: address1,
    address2: address2,
    city: city,
    zipcode: zipcode,
    state: state,
    country: country});
    

    【讨论】:

    • 谁不喜欢这个答案。请在评论中提及,以便将来参考
    • 错了,这就是原因。不客气。首先,您在 stringify 中有 data ,这是错误的。其次,当它应该简化为查询字符串名称/值对时,为什么要使用 JSON.Stringify 是没有意义的。
    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    相关资源
    最近更新 更多