如何使用javascript形成动作

如何使用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

我正在尝试将表单中的信息插入数据库。 这是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" />
<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来覆盖表单的默认行为,以避免实际发布表单。

操作
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">