在执行某些操作后,更改a或<input />元素的同一页面上显示的文本

时间:2017-04-20 13:36:31

标签: javascript php jquery ajax dom

我已经搜索过这个答案,看起来应该很简单,基于DOM 我想要做的是在页面上显示<td id="cte"><input id="cte">,并在执行某些操作后(即按钮单击或更改),getElementById('cte').value="somenewvalue"实际上会更改同一页面上的前述或元素。

这项技术(即javascript,AJAX,DOM)说这是可行的,但我已经看到这个问题提出了许多方法,其中所提供的答案似乎无法工作或满足问题。

所以我的实际问题是:如何更改显示的&#39; element.value在同一页面上而不必重新加载同一页面?

2 个答案:

答案 0 :(得分:0)

您认为元素包含多个值/文本吗? (像一张桌子)

如果元素包含多个值

,则首先要真实地复制元素
[nodemon] restarting due to changes...
[nodemon] starting `node serveur.js`
[ { username: 'Bob', message: 'Hello' },
done
[nodemon] restarting due to changes...
[nodemon] starting `node serveur.js`
[]
done

答案 1 :(得分:0)

你至少以一种方式回答了你自己的问题:&#34; 技术(即javascript,AJAX,DOM)说这是可行的。 当然足够的,使用AJAX,只需用AJAX请求中的数据(响应)替换DOM节点....

这是一个非常基本的例子。我们将从服务器使用AJAX获取HTML字符串,并使用此内容替换包含HTML < strong>Hello< /strong>

的DIV的旧内容

本演示的第一部分是包含我们的初始标记和此文件的HTML或PHP文档,我们打电话给index.html or index.php

index.php |的内容的index.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Mini AJAX Demo</title>
    </head>
    <body>
    <div class="swappable-content" id="swappable-content">
        <strong>Hello!!!</strong>
    </div>
    <div class="other-dom-elements">
        <Button id="action-trigger" data-ajax-url="/ajax.php">Click Me</Button>
    </div>
    <!-- ADD JQUERY LIBRARY & SETUP THE AJAX REQUEST CALLS -->
    <!-- HERE WE ARE LOADING JQUERY FROM THE CDN.... CHANGE THE src ATTRIBUTE IF YOU HAVE A LOCAL COPY -->
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script type="text/javascript">
        (function($){
            $(document).ready(function(e){
                var actionTrigger   = $("#action-trigger");

                actionTrigger.on("click", function(e){
                    $.ajax({
                        url         : $(this).attr('data-ajax-url'),
                        type        : "POST",
                        dataType    : "JSON",
                        data        : {
                            // HERE YOU CAN ADD KEY VALUE PAIRS
                            // WHICH WILL BE SENT TO AND PROCESSED BY THE SERVER
                        },
                        success     : successHandler,
                        error       : errorHandler,
                        complete    : completeHandler

                    });
                });

                function successHandler(data, textStatus, jqXHR){
                    // IF THERE IS A RESPONSE PAYLOAD FROM THE SERVER
                    // WE JUST REPLACE THE CONTENTS OF THE #swappable-content DIV WITH THE DATA
                    if(data){
                        if(data.html){
                            $("#swappable-content").html(data.html);
                        }
                    }
                }

                function errorHandler(jqXHR, textStatus, errorThrown){
                    console.log('The following error occured: ' + textStatus, errorThrown);
                }

                function completeHandler(jqXHR, textStatus){

                }
            });
        })(jQuery);
    </script>
    </body>

    </html>
AJAX处理脚本的内容:ajax.php
<?php

    // YOU CAN DO PRETTY MUCH ANYTHING WITHIN THIS FILE
    // HOWEVER FOR THE PURPOSES OF THIS DEMO,
    // WE WOULD JUST RETURN SOME HTML STRING BUNDLED IN AN ARRAY AND SENT AS JSON DATA
    $response   = array(
        'html'  => "<div style='font-weight:900;color:#F00;'>This is the Response Data from Server!</div>",
    );

    die(json_encode($response));