こんにちは、検証が完了した後にアクション属性を変更して、クライアント側からサーバー側にユーザーデータを送信しようとしています(これは私が過去に行ったことであり、突然機能しなくなりました)。私の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 が機能しない理由は、既にテスト済みであり、到達可能である必要があります。