3

我有这些代码:

main.php的内容:

Javascript

function grab()
{
    $("#div_id").load("/test.php");
}

HTML 和 PHP

<? $original_value = 'Original content'; ?>

<div id='div_id'><?=original_value;?></div>

<form action="javascript:grab($('#div_id').val())">

    <input name="submit" type="submit" value="submit">

</form>

还有test.php

<?... 
$update_value = "Update content";
echo $update_value;?>

test.php 的结果将被写入#div_id,div 内容的结果是:

Original content
Update content

但我喜欢覆盖原始 div 值,结果应该是:

Update content

我的意思是echo在#div_id 中追加一个新行,但我喜欢覆盖现有的#div_id 内容。

4

2 回答 2

4

在您的代码中更改以下内容。

  1. 删除 action 属性中的 javascript。它看起来不正确。

    <form action="">
    
        <input name="submit" type="submit" value="submit">
    
    </form>
    
  2. 添加以下 javascript。

    $(document).ready(function () {
        $('form').on('submit', function (e) {
            e.preventDefault(); // Prevents the default submit action. 
            // Otherwise the page is reloaded.
    
            grab();
        });
    });
    

grab提交表单时将调用该函数。我不确定这是否是您想要的,但您应该在 div 中看到新内容。

更新 1:

我已经删除了参数,grab因为该函数不需要一个。

于 2012-12-24T09:29:19.003 回答
0

You need to replace the content while the current code appends it, change code to:

$("#div_id").empty().load("/test.php");
于 2012-12-24T10:39:17.833 回答