第二个存在条件不起作用

时间:2015-03-30 16:25:00

标签: javascript exists

我有一个关于javascript的问题,我有两个条件来检查输入字段是否存在。但它只告诉我“存在”,而不是“存在”和“存在”。

请告诉我我的代码有什么问题。

非常感谢!

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script type="text/javascript">
function submit()
{
    var opleiding = document.getElementById("opleiding");
    var domein = document.getElementById("domein");

    if(document.getElementById("opleiding")){
        document.write("opleiding exists");
    }

    if (document.getElementById("domein")){
        document.write("domein exists");
    }
}
</script>
</head>
<body>
<input type="hidden" id="domein" value="domein" />
<input type="hidden" id="opleiding" value="opleiding" />

<div id="button" onclick="submit()">
<strong>button text</strong>
</div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

document.write将覆盖页面中的现有内容。这就是为什么你只看到消息的原因。

您必须使用document.body.appendChild代替同时显示错误消息。

function submit()
{
var opleiding = document.getElementById("opleiding");
var domein = document.getElementById("domein");
var textElement;
if(document.getElementById("opleiding")){
    textElement = document.createElement("p");
    textElement.textContent = "opleiding exists";
    document.querySelector("#results").appendChild(textElement);
}

if (document.getElementById("domein")){
    textElement = document.createElement("p");
    textElement.textContent = "domein exists";
    document.querySelector("#results").appendChild(textElement);
}
}
<body>
<input type="hidden" id="domein" value="domein" />
<input type="hidden" id="opleiding" value="opleiding" />
<div id="results"></div>
<div id="button" onclick="submit()">
<strong>button text</strong>
</div>
</body>

答案 1 :(得分:0)

您应该避免使用document.write ,因为这是一种弃用的方法。当您第一次使用它时,它会记下您想要的内容,但删除页面的所有内容,按照其定义。

要执行您想要的操作,您应该使用document.body.appendChild“写”来附加包含文本的某个元素(例如<div>),或者向document.body.innerHTML添加一些文本,这里是例如:

function submit() {
    var opleiding_div = document.createElement('div'),
        domein_div = document.createElement('div');

    opleiding_div.textContent = "opleiding exists";
    domein_div.textContent = "domein exists";

    if(document.getElementById("opleiding")){
        document.body.appendChild(opleiding_div);
    }

    if (document.getElementById("domein")){
        document.body.appendChild(domein_div);
    }
}