javascript函数中有多个变量?
标题可能不正确,我不知道如何巧妙地表达这个问题。可能与缺乏智力有关。。。anyhoo:作为CMS的一部分,我有一个javascript函数,可以生成输入HTML表单文本区域的数据预览。现在,表单显然包含了比这个textarea更多的部分,我想扩展这个函数以包括“title”和“summary”的变量。由于不懂javascript,我一直在思考如何做到这一点。因此,如果有任何善良的灵魂想要教育我(最好是用视觉的例子,而不仅仅是“好吧,你必须把东西放在东西里然后摆动…”),我将非常感激 我的功能是:javascript函数中有多个变量?,javascript,function,variables,innerhtml,Javascript,Function,Variables,Innerhtml,标题可能不正确,我不知道如何巧妙地表达这个问题。可能与缺乏智力有关。。。anyhoo:作为CMS的一部分,我有一个javascript函数,可以生成输入HTML表单文本区域的数据预览。现在,表单显然包含了比这个textarea更多的部分,我想扩展这个函数以包括“title”和“summary”的变量。由于不懂javascript,我一直在思考如何做到这一点。因此,如果有任何善良的灵魂想要教育我(最好是用视觉的例子,而不仅仅是“好吧,你必须把东西放在东西里然后摆动…”),我将非常感激 我的功能是:
// generate preview
function updatePreview() {
if (document.getElementById('txt')) {
var body = document.getElementById('txt').value;
document.getElementById('preview').innerHTML = body;
}
}
标题的表单字段名为“title”,摘要文本区域名为“sumtxt”,因此想象中的函数类似于:
// generate preview
function updatePreview() {
if (document.getElementById('title')+('txt')+('sumtxt')) {
var body = document.getElementById('title')+('txt')+('sumtxt').value;
document.getElementById('preview').innerHTML = body;
}
}
。。。但即使在我看来,这也不是特别正确。
建议?
谢谢。
document.getElementById('txt')
是一个DOMNode或null
,document.getElementById('txt')。value
是一个字符串,所以只需执行以下操作:
if (document.getElementById('title') !== null && document.getElementById('txt') !== null && document.getElementById('sumtxt') !== null) {
var body = document.getElementById('title').value + document.getElementById('txt').value + document.getElementById('sumtxt').value;
...
}
你可以逐一检查
function updatePreview() {
var body = "";
if (document.getElementById('title')) {
body += document.getElementById('title').value;
}
if (document.getElementById('txt')) {
body += document.getElementById('txt').value;
}
if (document.getElementById('sumtxt')) {
body += document.getElementById('sumtxt').value;
}
document.getElementById('preview').innerHTML = body;
}
或者,您可以编写一个支持函数:
function getElementValueById(id){
var node = document.getElementById(id);
var value = null;
if (node) {
value = node.value;
}
return value;
}
在updatePreview()中:
希望能有所帮助。接受弗里茨的回答
var eleholder = ['title','txt','sumtxt'], body= "";
for(i=0;i<eleholder.length;i++){
if(document.getElementById(eleholder[i]) !== null){
body += document.getElementById(eleholder[i]).value;
}else{
body = "";
break;
}
}
var eleholder=['title','txt','sumtxt',body=”“;
对于(i=0;iThanks!非常感谢。现在将蹒跚学步学习javascript…;)这段代码可能无法完成您希望它完成的任务。它在任何情况下都不等同于我的代码。for
循环是个坏主意。
var eleholder = ['title','txt','sumtxt'], body= "";
for(i=0;i<eleholder.length;i++){
if(document.getElementById(eleholder[i]) !== null){
body += document.getElementById(eleholder[i]).value;
}else{
body = "";
break;
}
}