Javascript 即使在sweetalert2中按下取消按钮,也要提交数据

Javascript 即使在sweetalert2中按下取消按钮,也要提交数据,javascript,php,ajax,sweetalert2,Javascript,Php,Ajax,Sweetalert2,按下确认按钮时,我能够发送数据。 但是,当按下取消按钮时,sweetalert2显示为成功插入数据。 后端显示为空字符串。(在数据库表中) 如何在按下取消按钮时进行验证,而不是将数据发送到后端 Javascript函数 php ajax代码 这是我的类函数 当我在chrome的网络面板中按下取消按钮时的图像 控制台的图像 在chrome中显示post数据的图像 我对开发还不熟悉,无法回避如何解决这个问题。 谁能告诉我我做错了什么。 Thnks 看起来示例文本总是设置为

按下确认按钮时,我能够发送数据。
但是,当按下取消按钮时,sweetalert2显示为成功插入数据。
后端显示为空字符串。(在数据库表中)
如何在按下取消按钮时进行验证,而不是将数据发送到后端


Javascript函数 php ajax代码
这是我的类函数
  • 当我在chrome的网络面板中按下取消按钮时的图像

  • 控制台的图像

  • 在chrome中显示post数据的图像
我对开发还不熟悉,无法回避如何解决这个问题。 谁能告诉我我做错了什么。
Thnks

看起来示例文本总是设置为数组。我会尝试更改if语句

if(sample_text === '') { // problem is here.
            swal({
                type: 'warning',
                html: 'cannot proceed without input'
            });
        } else {
            console.log(sample_text);
差不多

if(sample_text['dismiss'] == 'cancel') { // problem is here.
        swal({
            type: 'warning',
            html: 'cannot proceed without input'
        });
    } else {
        console.log(sample_text);

只有当用户单击“确定”时,您才能得到
结果.value
,这样您就可以检查是否有值,如果值为空,则显示错误消息。如果没有价值,什么也不会发生

片段:

swal({
文本:“输入注释消息”,
输入:'textarea',
showCancelButton:true,
}).然后(函数(结果){
if(result.value){
$.ajax({
类型:“POST”,
url:“../ajax/ajax\u active\u deact.php?type=complaint\u responsed”,
数据:{complaintID:complaintID,sampleText:result.value}
}).完成(功能(res){
如果(!res){
游泳({
键入:“错误”,
html:“插入有效文本”
});
}否则{
游泳({
标题:“完成”,
文字:“好的”,
键入:“成功”,
allowOutsideClick:false,
confirmButtonText:“确定”
});
}
});
}else if(result.value==“”){
游泳({
键入:“警告”,
html:“没有输入无法继续”
});
}
});

仍然存在同样的问题。即使我更改了您的代码建议,数据也会传递。代码可以工作,但仍然存在一些问题。当我在文本区输入一些文本时,数据库表中只显示“一个字符”。。。。尽管我的表“更新”字段数据类型是“文本”类型。我更新了我的答案,但我认为您的
mark\u as\u answered()
方法中有一个错误。->这是我从后端收到的错误警告:C:\wamp64\www\PDMS\backend\ConsumerComplaint.php第151行中的非法字符串偏移量“value”!伙计。非常感谢你。我在答案中添加了一部分关于sql注入的内容。
    function mark_as_answered($id, $comment) {
    //var_dump($comment);
    $val = $comment['value']; // $comment is a associative array, with the key of 'value'
    $sql = "UPDATE c_consumer_complaint SET `status` = 'answered', `update` = '$val' 
            WHERE  complaint_id = '$id' ";
    $res = $this->conn->query($sql);
    return $res;
}
if(sample_text === '') { // problem is here.
            swal({
                type: 'warning',
                html: 'cannot proceed without input'
            });
        } else {
            console.log(sample_text);
if(sample_text['dismiss'] == 'cancel') { // problem is here.
        swal({
            type: 'warning',
            html: 'cannot proceed without input'
        });
    } else {
        console.log(sample_text);