Javascript 在外部单击时禁用关闭模式

Javascript 在外部单击时禁用关闭模式,javascript,php,jquery,materialize,Javascript,Php,Jquery,Materialize,我正在制作一些博客,使用带有Materializecss的modal(s),但我的modal onclick外部和错误数据有问题,以下是我的代码: main.js function changepassword(){ var user = $('#userlog').val(); var content = ""; content += '<div id="modganpas" class="modal modal-fixed-footer">'; content += '

我正在制作一些博客,使用带有Materializecss的modal(s),但我的modal onclick外部和错误数据有问题,以下是我的代码:

main.js

function changepassword(){
 var user = $('#userlog').val();
 var content  = ""; 

content += '<div id="modganpas" class="modal modal-fixed-footer">';
content += '<div class="modal-content">';
content += '<form>';        
content += '<style="text-align:center;font-size:12px;font-weight:bold;"><h3>change Password</h3>';
content += '<div><i class="material-icons">supervisor_account</i>';             
content += '</div>';
content += '<div class="row">';
content += '<div class="input-field col s12">';
content += '<input id="changeUsername" name="changeUsername" type="text" class="validate" disabled>';
content += '</div>';
content += '<div class="input-field col s12">';
content += '<input id="changePasswordold" maxlength="32" name="changePasswordold" type="password" class="validate">';
content += '<label for="changePasswordold">Password old</label></div>';
content += '<div class="input-field col s6">';
content += '<input id="changePasswordnew" maxlength="32" name="changePasswordnew" type="password" class="validate">';
content += '<label for="changePasswordnew">Password new</label></div>';
content += '<div class="input-field col s6">';
content += '<input id="changePasswordnew1" maxlength="32" name="changePasswordnew1" type="password" class="validate">';
content += '<label for="changePasswordnew1">Ulangi Password</label></div>';
content += '</div>';
content += '</form>';
content += '</div>';
content += '<div class="modal-footer">';
content += '<a href="#" onClick="check_ganpass()" id="btn_ok" class="modal-action modal-close waves-effect waves-green btn-flat ">Edit</a>';
content += '<a href="#!" onClick="cancelchangePassword()" class="modal-action modal-close waves-effect waves-red btn-flat ">Cancel</a>';
content += '</div>';
content += '</div>';
content += '</div>';

        $("#formodal").append(content);
        $('#changeUsername').val(user);}


//for check


    function check_ganpass(){
    var username = $('#changeUsername').val();
    var passwordold = $('#changePasswordold').val();
    var passwordnew = $('#changePasswordnew').val();
    var passwordnew1 = $('#changePasswordnew1').val();
    var urlnyah    = 'pas.php';

    $.ajax({
        url     : urlnyah,


        data    : 'username='+username+'&passwordold='+passwordold+'&passwordnew='+passwordnew+'&passwordnew1='+passwordnew1, 
        type    : 'POST',
        dataType: 'html',
        success : function(pesan){
            if(pesan=='ok,'){
                Materialize.toast('Data Telah Berubah',4000);
            }
            else{
                Materialize.toast(pesan,4000);
            }
        }
    });}
函数changepassword(){
var user=$('#userlog').val();
var-content=“”;
内容+='';
内容+='';
内容+='';
内容+=‘更改密码’;
内容+=‘主管_账户’;
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
内容+=‘旧密码’;
内容+='';
内容+='';
内容+=‘新密码’;
内容+='';
内容+='';
内容+=‘乌兰吉密码’;
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
内容+='';
$(“#形式”)。附加(内容);
$('#changeUsername').val(用户);}
//核对
函数检查_ganpass(){
var username=$('#changeUsername').val();
var passwordold=$('#changePasswordold').val();
var passwordnew=$('#changePasswordnew').val();
var passwordnew1=$('#changePasswordnew1').val();
var urlnyah='pas.php';
$.ajax({
url:urlnyah,
数据:'username='+username+'&passwordold='+passwordold+'&passwordnew='+passwordnew+'&passwordnew1='+passwordnew1,
键入:“POST”,
数据类型:“html”,
成功:功能(pesan){
如果(pesan=='ok'){
Materialize.toast('Data Telah Berubah',4000);
}
否则{
具体化。吐司(pesan,4000);
}
}
});}
pas.php

<?php include("connection.php");
session_start();
$username = $_POST['username'];
$passwordold = md5($_POST['passwordold']);
$passwordnew = md5($_POST['passwordnew']);
$passwordnew1 = md5($_POST['passwordnew1']);
    $query = mysql_query("select * from tuser where username ='$username' and password = '$passwordold'");
    $data = mysql_num_rows($query);
    if ($data ==1)
    {   if ($passwordnew == $passwordnew1){     mysql_query("UPDATE tuser SET password='$passwordnew1' WHERE username='$username'");
            echo "ok,";
        } else {
        echo "Password new not same";
        }}else{
        echo "Password old werong.";}?>
<?php $sambung=mysql_connect('localhost','root', '')or die('Not connected : ' . mysql_error());
mysql_select_db("test", $sambung)or die('Not connected : ' . mysql_error());?>

问题是如何禁用在框外单击时关闭模式,以及输入的数据是否错误

谢谢你的更正。

试试这个

$('#ModalID').modal({
    backdrop: 'static',
    keyboard: false
})
或在html中设置数据属性,如下所示

data-backdrop="static" data-keyboard="false"
弹出式呼叫


希望这有帮助。

//单击外部时禁用模式

$('#modalid').openModal({dismissible:false});
//移除模态动作模态关闭ok(确定)按钮

<a href="#" onClick="check_ganpass()" id="btn_ok" class="waves-effect waves-green btn-flat ">Edit</a>

希望你能回答你的问题。:)

如果您只有一个模式,并且正在使用jquery,则可以执行以下操作:

$('#myModal').modal()[0].M_Modal.options.dismissible = false;
$('#myModal').modal('open');

干杯

您还可以编写自定义代码来隐藏模态。talk很便宜,请显示代码,然后我使用materialize。
$('#myModal').modal()[0].M_Modal.options.dismissible = false;
$('#myModal').modal('open');