javascript - 解析数据和 Javascript/HTML 表单

标签 javascript html

我正在使用 Parse 中的数据模块。我正在使用 HTML 创建电子邮件表单。我使用 Javascript 获取表单数据(电子邮件),然后从电子邮件地址生成用户名。然后,此信息将保存到 Parse 数据库中。

这是 HTML 表单代码:

<form method="post" class="center">
    <input id="email" name="email" type="email" placeholder="Type your email to create a Mail Link" />
    <button id="submit" onclick="formSubmit();">Create</button>
</form>

这是 JavaScript:

function formSubmit() {
    var emailValue = document.getElementById("email").value;
    var userValue = emailValue.substr(0, emailValue.indexOf('@'));

    Parse.initialize("---KEY---", "---KEY---");
    var Users = Parse.Object.extend("Users");
    var users = new Users();
    users.save({username: userValue}).then(function(object) {
        alert("Saved user");
    });
    users.save({email: emailValue}).then(function(object) {
        alert("Saved email");
    });
}

问题是控制台显示值已保存,但数据未保存到 Parse 中。

任何想法将不胜感激!

最佳答案

可以使按钮成为一个简单的按钮,无需像您提到的链接中提到的那样将按钮更改为按钮,您的代码将正常工作。

您在保存用户数据后编写了 .then() 方法,但实际上它是在 promise 完成时调用来运行回调的。

但是这里您使用的是简单的 Parse.Object,因此您必须使用 Parse.Promise,或者如果您只想在以下情况下仅使用简单的 Parse.Object:-

users.save({
username: "Jake Cutter"
}, {
success: function(userObject) {
  alert('The save was successful');
},
error: function(userObject, error) {
  // The save failed.  Error is an instance of Parse.Error.
  // Do something if you want to do on error
}
});

详细信息您可以查看:- https://www.parse.com/docs/js/symbols/Parse.Object.html#save https://www.parse.com/docs/js/symbols/Parse.Promise.html#then

关于javascript - 解析数据和 Javascript/HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24580429/

相关文章:

HTML 选择下拉选项 Z-index

javascript - AngularJS Orderby 属性名称中带有空格

javascript - jQuery-HTML div 选择 - 只选择一个

javascript - Html2Canvas 泰语问题

javascript - 如何在不使用 javascript 或 jquery 中的表单的情况下在登录中创建记住我的功能

javascript - 单击按钮显示/隐藏 colspan 特定行

Visual Studio 的 JavaScript 插件?

javascript - HTML 5 画笔颜色不会改变值

javascript - 为什么会出现资源加载失败的情况?

html - 填充所有可用高度的输入