简体   繁体   English

在div JavaScript ajax中显示输入数据(无jquery)

[英]displaying input data in a div JavaScript ajax (no jquery)

I am new to javascript and ajax,and i am working in jsfiddle: my aim is to display the username and email in a list when the form is submitted. 我是javascript和ajax的新手,我在jsfiddle中工作:我的目标是在提交表单时在列表中显示用户名和电子邮件。 currently when i submit the form i get this error: {"error":"key missing: title"} 目前,当我提交表单时,出现以下错误: {“错误”:“键丢失:标题”}

I'm not sure what im doing wrong, Any form of assistance will be highly appreciated 我不确定自己做错了什么,我们将不胜感激任何形式的帮助

Here is my code so far 到目前为止,这是我的代码

 var Uname = document.getElementById("name"); var email = document.getElementById("email"); var error = document.getElementById("errors"); var emailReg = /^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,6})?$/; var btn = document.getElementById("btn"); var users = document.getElementById("users"); /*EMAIL VALIDATION*/ email.onkeyup =function validateEmail(){ if(!emailReg.test(email.value)){ error.innerHTML = "please enter a valid email address"; error.style.color = "red"; email.style.border = "3px solid red"; } else if(emailReg.test(email.value)){ error.innerHTML = "valid email!"; error.style.color = "green"; email.style.border = "3px solid green"; } }; /*EMAIL VALIDATION END*/ /* GET INPUT FIELD VALUES */ var username = Uname.value; var email2 = email.value; /* CALLBACK FUNCTION */ function callBack(){ var newLi = document.createElement("li"); var newContent = document.createTextNode("text"); newLi.appendChild(newContent); } addUser(username, email2, callBack); function addUser(username, email, callback) { var response, success = (!!Math.round(Math.random())); if(!success){ response = JSON.stringify({ success: success, error: "Oups, something went wrong!" }); } else { response = JSON.stringify({ success: success, user: { username: username, email: email } }); } $.ajax({ url: '/echo/json/', type: "post", data: { json: response }, success: callback }); } 
 <h2>Add a User:</h2> <form id="add-user" method="POST" > <input type="text" id="name" name="username" placeholder="name"/> <input type="email" id="email" name="email" placeholder="email"/> <button id="btn" onclick="return addUser()">add user</button> </form> <div id="errors"></div> <h2>Users:</h2> <ul id="users"></ul> 

:

That is possible, just make sure you don't wrap everything around a form. 这是可能的,只要确保您不将所有内容都包裹在表单中即可。 Cause when you click add user that will trigger a postback, or you can do this 单击添加用户时将触发回发的原因,或者可以执行此操作

Updated fiddle. 更新了小提琴。

And BTW if you are using jquery you do not need to use document.getElementById you can just use $("#SOMEELEMENTID") ; 顺便说一句,如果您使用的是jquery,则无需使用document.getElementById您只需使用$("#SOMEELEMENTID") ; and you don't need document.createElement just use $("#users").append() 而且您不需要document.createElement只需使用$("#users").append()

And a side note you can use this to serialize a form into json. 另外,您可以使用来将表单序列化为json。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM