php - 使用 Javascript 更改操作属性不会发送到 php

标签 php javascript html

您好,尝试在验证完成后通过更改操作属性将用户数据从客户端提交到服务器端(这是我过去做过的事情,但突然间它不起作用)。 我的 html 表单(post)

       <!-- 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>

如果你在我按下 sumbit 按钮后看到信息被检查,如果通过验证被发送到服务器端,我使用了 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 不起作用。

最佳答案

为什么不自己提交表单呢。像这样...

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

关于php - 使用 Javascript 更改操作属性不会发送到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17401624/

相关文章:

php - 如何从mysql中按集合计算每个组的总数

php - 更改单个产品页面上的评论评级位置

javascript - NextJS 页面名称与 url 名称不同

javascript - 在 ASP.NET MVC 中从外部 javascript 文件提交 Ajax 请求

html - 垂直对齐在 safari 和 chrome 中不起作用

javascript - 渐变到圆圈

javascript - Div 框展开并重新定位其他 div 框

php - 用于黑客攻击的稳定 PHP CMS

php - Bitmex API (PHP),取消一个订单不起作用

javascript - 如何对附加的 div 进行事件委托(delegate)?