1

如果满足条件,我有一个函数应该在 P 元素中显示一条消息。该功能运行良好,但是当您按下按钮时,发送到“output1”的文本会短暂出现,然后消失。我曾尝试将 JS 放在头部和身体中,但似乎没有什么不同。有任何想法吗?谢谢。

HTML:

<p id="output1"><p>

Javascript:

<script>
function logicProcess() {
    // alert('function launched');
    if(document.getElementById('q1Y').checked || document.getElementById('q2Y').checked || document.getElementById('q3Y').checked) {
        document.getElementById("output1").innerHTML = "Sorry, you don't qualify for our shared ownership properties";
        }
    else {
        document.getElementById("output1").innerHTML = "You may qualify for our shared ownership scheme. Please complete the registration form.";
        }
}       
</script>
4

2 回答 2

4

innerHTML 不可见的原因是因为有某种类型的 onclick 方法正在重置表单。如果这是真的,请像这样编辑您的 onclick 方法:

onClick="function();return false;"

这里的变化是 ;return false;

于 2016-01-02T21:45:35.237 回答
0

您还没有向我们展示您是如何调用该函数的,但您这样做的可能性是响应表单的提交按钮被按下。

这将修改 DOM,然后提交表单,这将导致加载新页面。

您需要取消表单的默认行为以停止提交。

function logicProcess(evt) {
    // All your other code
    evt.preventDefault();
}
document.getElementById('myForm').addEventListener('submit', logicProcess);
于 2013-05-07T11:07:23.157 回答