javascript - 从 php 表单提交调用 javascript 函数

标签 javascript php jquery

美好的一天,有人愿意帮助我吗?我有这个代码:

<form id="form_advanced_validation" method="POST" action="">
<div class="row clearfix">
    <div class="col-md-10">
        <div class="form-group form-float">
            <div class="form-line">
                <input type="password" class="form-control" name="oldPass" required>
                <label class="form-label">Old Password</label>
            </div>
        </div>
    </div>
</div>
<div class="row clearfix">
    <div class="col-md-10">
        <div class="form-group form-float">
            <div class="form-line">
                <input type="password" class="form-control" name="newPass" required>
                <label class="form-label">New Password</label>
            </div>
        </div>
    </div>
</div>
<div class="row clearfix">
    <div class="col-md-10">
        <div class="form-group form-float">
            <div class="form-line">
                <input type="password" class="form-control" name="confPass" required>
                <label class="form-label">Confirm Password</label>
            </div>
        </div>
    </div>
</div>
<button class="btn btn-primary waves-effect" type="submit" name="sChanges">SUBMIT</button>

当点击提交按钮时,将会处理更改密码的过程,代码如下:

if (isset($_POST['sChanges'])) {
$dbC = new imsFunction();

$oldPasswrd = $dbC->txtInput($_POST['oldPass']);
$newPasswrd = $dbC->txtInput($_POST['newPass']);
$confPasswrd = $dbC->txtInput($_POST['confPass']);
$idNumber = $_SESSION['eID'];

if ($newPasswrd <> $confPasswrd) {
    $_SESSION['passConfirm'] = FALSE;
    echo '<script language="javascript">';
    echo 'window.location = "change_Passwd.php";';
    echo '</script>';
} else 

    $dbQry = $dbC->sRowQry('Select * From tbl_endUser Where id_number = ? and id_key = ?',[$idNumber, $oldPasswrd]);

    if ($dbQry->rowCount() > 0) {
        $changePass = $dbC->qryExec('Update tbl_endUser Set id_key=? Where id_number=?',[$newPasswrd, $idNumber]);
        $_SESSION['passChange'] = TRUE;
        echo '<script language="javascript">';
        echo 'window.location = "change_Passwd.php";';
        echo '</script>';
    } else {
        $_SESSION['wrongPass'] = FALSE;
        echo '<script language="javascript">';
        echo 'window.location = "change_Passwd.php";';
        echo '</script>';
    }

    $dbC->disConnect(); }

我想要做的是当“$_SESSION['passChange']”被设置时,我想调用这个javascript函数:

function showSuccessMessage() {
swal("Good job!", "Password has been changed!", "success");}

我尝试过:

if (isset($_SESSION['passConfirm'])) { echo '<script type="javascript"> showSuccessMessage(); </script>'; }

但什么也没发生..请大家帮帮我。

最佳答案

不要忘记在每个页面的开头使用session_start();

在调用函数之前,只需使用echo $_SESSION['passConfirm'];来确保 session 已设置。

现在根据上述两件事更正您的代码并检查

关于javascript - 从 php 表单提交调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42801883/

相关文章:

PHP 从数据库中获取包含 url 的字符串

javascript - 使用 jquery 定位正确的 id

javascript - Jquery:当图像悬停时隐藏和显示div

javascript - ReactJS 和 Vivus SVG 动画

javascript - 寻找最有效的方法将已知格式的字符串解析为 Typescript 中的对象数组

javascript - jquery .text() 返回 html 标签,我该如何解决这个问题?

javascript - 如何保护聊天消息免受中间人攻击(PHP、JavaScript)

javascript - 自定义 jQuery 验证规则无法正常工作

javascript - 使用多个链接覆盖多个外部页面或 div

javascript - 为什么在以下场景中我无法访问 div 中包含的内部 div 和 input 元素?