如何在用锚javascript包装的div中输出我的值

如何在用锚javascript包装的div中输出我的值,javascript,Javascript,我试图在一个包含锚的div中输出我的值。基本上,有人输入了他想要的高度,这会给他相应的数据表 我无法计算出如何在用锚包住的div中输出所需的字符串 这是我的密码: <form name="test"> <label for="height">Height</label> <input type="text" name="height" /><br> <label for="width">Width</l

我试图在一个包含锚的div中输出我的值。基本上,有人输入了他想要的高度,这会给他相应的数据表

我无法计算出如何在用锚包住的div中输出所需的字符串

这是我的密码:

<form name="test">
<label for="height">Height</label>
    <input type="text" name="height" /><br>
    <label for="width">Width</label>
<input type="text" name="width" /><br>
<label for="depth">Depth</label>
<input type="text" name="depth" /><br>
<label for="load">Load</label>
<input type="text" name="load" /><br>
    <input type="button" onclick="calculate();" value="Calculate" /><br><br>



</form>
<div id="result">
</div>

            <script type="text/javascript">
                        function calculate()
                        {
                            var height = document.test.height.value;
                            if (height <= 525) {
                                var str = "Download your Datasheet 1";

                            }
                            else if (height < 645) {
                                var str = "Datasheet 2";

                            }

                            else if (height > 1265) {
                                var str = "This configuration is beyond the standard range of top-load testers. Please contact Mecmesin Sales to discuss ways to meet your requirements.";
                            }

                            else if (isNaN(height)) {
                              window.alert(height + ' is not a number!');
                              }

                            else {
                                var str = "Datasheet 3";
                            }
                            document.test.result.value = str.anchor();

                        }
            </script>

高度

宽度
深度
负载


函数计算() { var高度=document.test.height.value; 如果(高度1265){ var str=“此配置超出了top load Tester的标准范围。请联系Mecmesin销售人员,讨论满足您要求的方法。”; } 否则,如果(isNaN(高度)){ window.alert(高度+'不是数字!'); } 否则{ var str=“数据表3”; } document.test.result.value=str.anchor(); }
提前感谢。

试试这个:

document.getElementById("result").innerHTML = str;
这一行没有给出表单中的高度值

为该输入指定一个类似“height”的id,然后按如下方式获取其值:

var height = document.getElementById('height').value;

您不能像尝试访问文档对象的属性那样访问元素,您需要使用document.getElementById或document.getElementByTagName之类的内容来选择元素。如果您没有正确使用DOM,请执行以下操作

您需要为
高度输入提供一个ID:

<input type="text" id="height" name="height" />

或者您可以简单地使用:

var height = document.getElementsByName("height")[0].value;

但我不建议这样做。

我认为其他人没有抓住让div包含一个锚的要点。。。这意味着您需要提供一个url和一个字符串,但一旦完成,替换document.test.result.value行的附加代码应该如下所示:

// empty out the result div first
var node = document.getElementById('result');
while(node.firstChild) {
    node.removeChild(node.firstChild);
}

// create the anchor DOM object
var a = document.createElement('a');
var linkText = document.createTextNode(str);
a.appendChild(linkText);
a.title = str;
a.href = "http://example.com/"+str+".pdf"; //for example

// attach it to your result node
node.appendChild(a);

如果您不打算在不刷新页面的情况下重复使用页面,您可以不使用while循环。

您的答案是正确的,但下面的一个解释更好:)谢谢,是的,但我可以这样做,可以吗?var-str='';可以,但最好习惯直接处理dom。它更有趣,特别是当你开始使用像Dojo这样的框架时。。。
var height = document.getElementsByName("height")[0].value;
// empty out the result div first
var node = document.getElementById('result');
while(node.firstChild) {
    node.removeChild(node.firstChild);
}

// create the anchor DOM object
var a = document.createElement('a');
var linkText = document.createTextNode(str);
a.appendChild(linkText);
a.title = str;
a.href = "http://example.com/"+str+".pdf"; //for example

// attach it to your result node
node.appendChild(a);