JavaScript不执行

JavaScript不执行,javascript,Javascript,因此,在我的脑海中,我有以下一段代码: function dynamicPhoneAddon(){ while(true){ var phone = document.myform.phone.value; document.getElementById('writeme').innerHTML ='<input type="hidden" name="retURL" value="http://URLREMOVED/thankyou.php?customer=' + ph

因此,在我的脑海中,我有以下一段代码:

function dynamicPhoneAddon(){
while(true){
    var phone = document.myform.phone.value;
    document.getElementById('writeme').innerHTML ='<input type="hidden" name="retURL" value="http://URLREMOVED/thankyou.php?customer=' + phone + '">';
    }
}
函数dynamicphoneadon(){
while(true){
var phone=document.myform.phone.value;
document.getElementById('writeme')。innerHTML='';
}
}
然后我有一个body onload=“dynamicphoneadon()”来调用这个脚本。它应该通过使用表单myform的phone字段中的值不断修改div id=“writeme”的内容

但是,脚本不会运行。我以前没有用javascript做过任何工作,所以我认为这可能是显而易见的。。。是因为我在调用一个无限循环吗?还是我想做一些不可能的事


我试图实现的最终结果是生成一个隐藏值,该值有一个指向URL的链接,该URL的末尾有一个变量(电话号码)。

而不是(这会导致一些问题),您可以摆脱
while
循环,让电话输入标记只包含一个
onchange=“dynamicphoneadon()”

您的javascript会永远执行。函数永远不会返回,因为while循环永远在运行

由于
while(true)
,脚本进入无限循环。由于Javascript是单线程的(并且不能并行运行),这将占用CPU本身,而不是giva运行其他任何东西的机会

当用户在文本字段上键入内容时,您可以执行的监视操作是侦听诸如onkeypress之类的事件:

document.myForm.phone.onkeypress = function(evt){
    //do your div updating code here
};

(顺便说一句,为什么要使用document.myform?使用getElementById通常更容易跨浏览器)

而(true)
没有
中断?实际上,您正在实现一个无限循环。如果你想在后台连续运行一些代码,请仔细研究。将其从你的脑海中取出,放入计算机上的
.js
文件中。它不会永远运行。。它永远紧密地运行,这是另一类问题!是的,他确实说过,这只是从一个问题判断,它是否真的运行是不确定的(OP问它是否是因为无限循环)。