【问题标题】:Form insertion into database not working asynchronously表单插入数据库不能异步工作
【发布时间】:2019-05-22 06:52:23
【问题描述】:

我正在尝试将文本区域的值异步插入到我的数据库中,但是它一直重定向到 PHP 处理页面,并在那里回显结果。 如何让它在当前 HTML 页面上回显 PHP 脚本的结果?

JS:

$("#sub").click(function() {
$.post( $("#text").attr("action"), $("#text :input").serializeArray(), 
function(info) { $("#result").html(info);});
});

$("#text").submit( function(){
return false;
})

PHP:

$sql = "UPDATE text 
        SET text_content = ? WHERE (id = 40) AND (number = $Number);";
            $stmt = mysqli_stmt_init($connection);
            if (!mysqli_stmt_prepare($stmt, $sql))
            {
                header("Location: ../create_text.php?error&prepare1111");
                exit();
            }
            else
            { 
                $stmt->bind_param("s", $content);
                mysqli_stmt_execute($stmt);
                mysqli_stmt_close($stmt);
                $connection->close();
                echo "successfully saved";
            }

HTML:

<form type="text" method="post" onSubmit="return validateText(); toHTML();" action="processing.php" id="text">
            <textarea name="content" rows="45" id="auto-expand" class="text-box" type="text"><?php echo stripslashes($content) ?></textarea>
            <input type="hidden" name="id" id="id" value="<?php echo $id ?>">
            <input type="hidden" name="number" id="number" value="<?php echo $number ?>">
            <input type="hidden" name="updated" value="<?php echo $updated ?>">
            <button type="submit" id="sub" name="submit">Save</button>
            <button type="button" onClick="validateText(); toHTML();">Check</button>
            <span id="result"></span>
        </form>

任何帮助都会太棒了! :)

【问题讨论】:

  • $("#sub").click(function(e) { e.preventDefault();?
  • 似乎不起作用:(
  • 删除内联处理程序,并将第一个函数附加到#text.submit事件,然后添加event.preventDefault()
  • 我删除了文本表单的内联函数,仍然重定向到 PHP 页面
  • 删除内联,删除$("#text").submit( function(){整个东西。如果这仍然不起作用,请在所有这些脚本之前验证 jquery 是否正确加载。

标签: javascript php html sql ajax


【解决方案1】:

试试 preventDefault:

$("#text").submit( function(e){
    e.preventDefault();
})

【讨论】:

  • 似乎不起作用:(,仍然重定向到 PHP 脚本并在那里回显
  • @akemedis 如果您将按钮的 type="submit" 更改为 type="button" 会怎样?
  • 那么它不会被插入到数据库中
  • @akemedis 尝试使用$(document).on('submit', '#text', function( event ) { 而不是$("#text").submit( function(e){。为我工作。
猜你喜欢
  • 2015-09-22
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 1970-01-01
  • 2020-05-22
  • 2012-11-23
相关资源
最近更新 更多