如何使用javascript形成动作
我正在尝试将表单中的信息插入数据库。 这是html格式的表单-尝试了post和get如何使用javascript形成动作,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试将表单中的信息插入数据库。 这是html格式的表单-尝试了post和get <form id="register" action="script/register.js" method="post"> <label for="username">Username:</label> <input type="text" name="username" id="username" placeholder="Username" /> <b
<form id="register" action="script/register.js" method="post">
<label for="username">Username:</label>
<input type="text" name="username" id="username" placeholder="Username" />
<br>
<label for="passd">Password:</label>
<input type="password" name="passd" id="passd" placeholder="Password" />
<br>
<label for="conpassd">Password:</label>
<input type ="password" name="conpassd" id="conpassd" placeholder="re-type Password"/>
<br>
<label for="email">E-Mail:</label>
<input type="text" name="email" id="email" placeholder="Email address"/>
<br>
<br>
<button type="submit" name="submitMe" id="submitMe">Submit</button>
<button type="reset">Clear</button>
</form>
是否有将表单链接到javascript的方法?我不知道任何其他语言,如php,所以。。。
谢谢表单上没有任何
操作
,只需使用
元素正常添加.js
文件即可
<form id="register" method="post">
<script type="text/javascript" src="script/register.js"></script>
您已经附加到脚本中的submit button click事件,它将调用您的ajax例程,因此不需要更多
您还需要通过附加到表单的提交事件并返回false来覆盖表单的默认行为从函数中选择code>,以避免实际发布表单。操作action=“script/register.js”
表示您正在将表单数据提交到如下URI:
您可能希望提交操作触发javascript函数。像这样:
<form onsubmit="someJsFunction(); return false;" action="some/uri.cgi" >...</form>
。。。
一些错误
- 您的表单指向一个JavaScript文件,它应该指向服务器cgi脚本
- 您从未调用过
checkUsername()
和checkPassword()
,因此usernamecorrent
和passwordCorrect
仍然为false
- 当您连接到按钮的单击事件时,更好的事件是表单的提交,因为当他们在表单中点击enter键时它也会触发,您可以取消提交并发送AJAX请求,这样,如果JavaScript关闭,表单也会工作
下面是您需要更改的内容,表单的HTML应该是
<form id="register" action="server/init.cgi" method="post">
改变以下事情
<script type="text/javascript" src="script/register.js"></script>
<form id="register" method="post" action="sample.cgi">
这里sample.cgi是您所需的操作页面
你需要在表单上添加操作我已经在中加载了register.js,刚刚尝试过,它说方法post not allowed…@CorsadiTempo-这不是从你发布的内容中可以猜到的。
$(document).ready(function() {
$('#register').on('submit', function(e){
// so the form doesn't get sent since we are going to send it with AJAX
e.preventDefault();
var user = $("#username").val(),
pwd = $("#passd").val(),
pwd2 = $("#conpassd").val(),
form = this;
if (pwd != pwd2) {
alert("Passwords does not match");
return false;
}
var dataPass = {"username": user};
$.ajax({
url: "server/userExists.cgi",
type: "GET",
dataType: "text",
data: dataPass,
success: function(data) {
var user = $.trim(data);
if(user == "Yes") {
alert("Username already in use");
return;
}
else {
submitForm();
}
},
error: function() {
alert('Script Execution Error');
},
});
function submitForm() {
var dataPass = {'username': user,'passd': pwd,'email': ($('#email').val())};
$.ajax({
// no need to duplicate the URL here, the form already knows it
url: form.action,
type: "GET",
data: dataPass,
success: function() {
alert("Register successful");
//nextPage(username);
},
error: function() {
alert("Error!");
},
});
}
});
});
<script type="text/javascript" src="script/register.js"></script>
<form id="register" method="post" action="sample.cgi">