1

こんにちは、検証が完了した後にアクション属性を変更して、クライアント側からサーバー側にユーザ​​ーデータを送信しようとしています(これは私が過去に行ったことであり、突然機能しなくなりました)。私のhtmlフォーム(投稿)

       <!-- Submit data to server-side -->
        <form id="register" method="post">
        <table class="tableReg" border="0">
            <tr class="rowReg">
                <td>User name:</td>
                <td><input onfocus="resetColor('userID')" type="text" id="userID" name="user"></td>
                <td id=note1></td>
            </tr>
            <tr class="rowReg">
                <td>Password:</td>
                <td>
                    <input onfocus="resetColor('passwordID1')" type="password" id="passwordID1" name="password1">
                </td>
                <td id=note2></td>
            </tr>
            <tr class="rowReg">
                <td>Repeat Password:</td>
                <td>
                    <input onfocus="resetColor('passwordID2')" type="password" id="passwordID2" name="password2">
                </td>
                <td id=note3></td>
            </tr>
            <tr class="rowReg">
                <td>Email:</td>
                <td><input onfocus="resetColor('emailID1')" type="email" id="emailID1" name="email1"></td>
                <td id=note4></td>
            </tr>
            <tr class="rowReg">
                <td>Repeat Email:</td>
                <td><input onfocus="resetColor('emailID2')" type="email" id="emailID2" name="email2"></td>
                <td id=note5></td>
            </tr>
        </table>
            <input type="button" onclick="checkInput()" value="Submit">
        </form>

送信ボタンを押した後に情報がチェックされ、合格した検証がサーバー側に送信されている場合は、javaScript を使用しました。

function checkInput(){
var regexUser = /^(?=.{1,20}$)[a-zA-Z0-9]+$/;//all letters ad number and size between 1-20
var regextPwd = /^(?=.{8,8}$)(?=.*[a-zA-Z])(?=.*\d)(?=.*[!#$%&? "]).*$/; //Password must contain 8 characters and
                                                                         // at least one number, one letter and one
                                                                         // unique character such as !#$%&?
//Email regex
var regexMail = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

var errorArr = new Array(0,0,0,0,0);

document.getElementById("register").action = "databasebuilder.php";}   

入力を検証した後、ローカルホストの同じディレクトリにあるdatabasebuilder.phpに送信すると仮定しますが、そうではありません!

document.getElementById("register").action が機能しない理由は、既にテスト済みであり、到達可能である必要があります。

4

2 に答える 2

2

自分でフォームを送信しないでください。このような...

document.getElementById("register").action = "databasebuilder.php";
document.getElementById("register").submit();
于 2013-07-01T09:57:21.110 に答える