JavaScript 传递检索和传递输入信息 nodeValue 与 createTextNode

Posted

技术标签:

【中文标题】JavaScript 传递检索和传递输入信息 nodeValue 与 createTextNode【英文标题】:JavaScript Passing retrieving and passing input info nodeValue vs createTextNode 【发布时间】:2016-08-08 18:27:22 【问题描述】:

我在 javascript 中遇到了一些我认为很奇怪的东西。我正在构建一个表单,其想法是提供按需添加表行和字段的能力。你可以想象我开始尝试createElementappendChild等。

为什么当我尝试从输入字段传递一个值时,它不能直接附加并输出到div 标记?但是,当首先通过createTextNode 传递检索到的值然后输出它时,它可以工作。

控制台说连接 pat.appendChild(al) 不是 对象

但是pat.appendChild(text) 工作正常吗?

<script type="text/javascript">

function appendTr ()

    var pat = document.createElement("p");
    /*var formValue = document.createTextNode("This works, but why doesn\'t the other one");
    p.appendChild(formValue);*/
    var al = document.getElementById("position").value;
    var text = document.createTextNode(al);
    pat.appendChild(text);
    document.getElementById("outer").appendChild(pat);


</script>
<form>
    <table id="job">
        <tr>
            <td><input id="y1" name="y1" type="text"></td>
            <td><input id="y2" name="y2" type="text"></td>
            <td><input id="position" name="position" type="text"></td>
            <td><input id="org" name="org" type="text"></td>
            <td><input class="button" id="addRow" type="button" value="+" onclick="appendTr()"></td>
            </tr>
    </table>

</form>
<div id="outer">Not</div>

【问题讨论】:

您能否提供一个 Jsfiddle 来演示该问题并告诉我们您使用的是什么浏览器?我无法复制您描述的“pat.appendChild(al) is not an object”错误。 【参考方案1】:

al 是一个字符串,text 是一个节点。 appendChild 的参数必须是一个节点。

要将al 直接输出到 div 中,请执行以下操作:

document.getElementById("outer").textContent=al;

或者当您希望 al 中的 html 代码工作时:

document.getElementById("outer").innerHTML=al;

【讨论】:

以上是关于JavaScript 传递检索和传递输入信息 nodeValue 与 createTextNode的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 使用 AJAX 将 Javascript 变量传递给 PHP 并检索那些

如何在 C 语言中将输入和检索输出传递给子进程

通过传递 Steam 用户名从 Steam API 检索 SteamID

有没有办法使用 javascript/Jquery 将未提交的输入字段的值属性作为 URL 的参数传递?

如何从从 Firebase 检索信息的闭包中传递数据?

codeigniter 将数据从视图传递到模型并检索信息