php 我怎样才能防止jquery添加字符串到url?

cclgggtu  于 2023-01-08  发布在  PHP
关注(0)|答案(2)|浏览(157)

所以我遇到了一个问题,当我单击表单的提交按钮时,我的action属性链接被添加了一个我不想要的新行
下面是包含以下形式的模态:

<!--modal-->
<div class="modal fade" id="changepass" tabindex="-1" aria-hidden="true">
    <div class="modal-dialog modal-sm" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel2">Password changing</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"
                    aria-label="Close"></button>
            </div>
            <form action="" id="passchange">
                <div class="modal-body">
                    <div class="row">
                        <div class="form-password-toggle">
                            <label class="form-label" for="basic-default-password12">Enter New
                                Password</label>
                            <div class="input-group">
                                <input type="password" class="form-control"
                                    id="basic-default-password12"
                                    placeholder="&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;&#xb7;"
                                    aria-describedby="basic-default-password2" name="newpass" />
                                <span id="basic-default-password2"
                                    class="input-group-text cursor-pointer"><i
                                        class="bx bx-hide"></i></span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-outline-secondary"
                        data-bs-dismiss="modal">No</button>
                    <button type="submit" class="btn btn-primary btn-ok">Yes</button>
                    <!--Get id function-->
                </div>
            </form>
        </div>
    </div>
</div>
<!--/modal-->

这里是按钮,当我点击,它会打开模态框:

<div class="card-header d-flex align-items-center justify-content-between">

    <h5 class="mb-0"><?=$detail['last_name']?>'s Information</h5>
    <small class="text-muted float-end"><button type="button" class="btn btn-primary"
            data-id="<?=$detail['id']?>" onclick="changepassword(this)">Change
            password</button></small>
</div>

下面是我用来传递php值给modal的jquery:

<script>

function changepassword(elm) {

    let id = $(elm).data('id');
    let modal = $('#changepass');
    $('#passchange').attr('action',
        `http://localhost/NguyenTranTienHiep1/index.php/backend/PasswordChange/${id}`);
    modal.modal('show');
}
</script>

所以我希望它在url栏上的链接是(id是可更改的):
网站地址:http://localhost/NguyenTranTienHiep 1/index. php/backend/密码更改
这是我没想到的联系
网站地址:http://localhost/NguyenTranTienHiep 1/index. php/backend/密码更改/
我想调用一个php函数,它会抓取输入,但行“?newpass=test”阻止它运行.

mhd8tkvw

mhd8tkvw1#

您的表单正在使用GET方法将数据发送到服务器。使用GET方法的表单将在URL末尾的问号(?)后面追加名称/值对列表,每个名称a值对用“与”号(&)分隔。您可以将方法更改为POST,这样您就不会获得追加到URL的数据,而敏感数据(如密码更改)应使用POST

<form action="" method="POST" id="passchange">

您可以在here中了解有关向服务器发送数据的详细信息

bcs8qyzn

bcs8qyzn2#

<script>

function changepassword(elm) {

    let id = $(elm.target).attr('data-id');
    let modal = $('#changepass');
    $('#passchange').attr('action',
        `http://localhost/NguyenTranTienHiep1/index.php/backend/PasswordChange/${id}`);
    modal.modal('show');
}
</script>

相关问题