jQuery Ajax如果提交的变量是ok隐藏按钮

时间:2017-10-30 09:15:40

标签: javascript php jquery html ajax

如果电子邮件与action.php中数据库中的电子邮件相同,我试图隐藏提交按钮。我怎么能在以下代码中实现这一点:

<form onsubmit="return submitdata();">
    <input type="text" id="mail">
    <input type="submit" value="Check">
</form>

<p id="msg"></p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">

function submitdata()
{
    var name=document.getElementById('mail').value;

$.ajax({
    type: 'post',
    url: 'action.php',
    dataType: 'text',
    data: {
        'name':name
    },
    cache:false,
    success: function (data) {
        console.log(data);
        $('#msg').html(data);
    }
});

return false;
}

</script>

action.php的:

<?php 
require_once 'config.php';
$email_ck=$_POST['name'];
if(extract($crud->get_email($email_ck))){
    echo "Response: ".$email;
    $hide = 1;
}else{
    echo 'hmmmm';
}
?>

当电子邮件重合时,我会收到正确的消息,但是如何才能回拨$ hide来确定隐藏我的提交按钮?

1 个答案:

答案 0 :(得分:2)

不返回消息,而是返回指示。 (在JS脚本中相应地写入消息)

详细的json字符串是一个好主意,但为了简化,请参阅以下内容。

<强> PHP:

<?php 
require_once 'config.php';
$email_ck=$_POST['name'];
if(extract($crud->get_email($email_ck))){
    echo "already_exists";
}else{
    echo 'not_exists';
}
?>

<强> JS:

$.ajax({
    type: 'post',
    url: 'action.php',
    dataType: 'text',
    data: {
        'name':name
    },
    cache:false,
    success: function (data) {
        if(data == 'already_exists'){
           $('#buttonId').hide();
        } else if(data == 'not_exists'){
           $('#msg').html('Response: ' +name);
        }
    }
});