如何在包含锚点javascript的div中输出我的值

时间:2013-03-21 15:44:23

标签: javascript

我正在尝试在包含在锚点内的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>

提前致谢。

4 个答案:

答案 0 :(得分:0)

试试这个:

document.getElementById("result").innerHTML = str;

答案 1 :(得分:0)

var height = document.test.height.value

此行未提供表单中高度的值。

给那个输入一个像'height'的id,然后得到它的值:

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

你不能像你想要的那样访问元素作为文档对象的属性,你需要使用像document.getElementById或document.getElementByTagName

之类的东西来选择它们。

答案 2 :(得分:0)

您没有正确使用DOM。

您需要为height输入提供ID:

<input type="text" id="height" name="height" />
var height = document.getElementById("height").value;

<小时/> 或者你可以简单地使用:

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

但我不建议这样做。

答案 3 :(得分:0)

我认为其他人已经错过了关于使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循环。