JavaScript无法执行

时间:2011-08-23 20:39:59

标签: 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=' + phone + '">';
    }
}

然后我有一个body onload =“dynamicPhoneAddon()”来调用这个脚本。它应该通过使用表单myform的phone字段中的值来不断修改div id =“writeme”的内容。

但是,脚本不会运行。我之前没有使用过javascript做过任何工作,所以我认为它可能是显而易见的......是因为我称之为无限循环?或者我想做一些不可能的事情?

我想要达到的最终结果是创建一个隐藏值,该值包含指向末尾带有变量(电话号码)的URL的链接。

3 个答案:

答案 0 :(得分:1)

你的javascript确实执行 - 永远。您的函数永远不会返回,因为您循环运行永远。

答案 1 :(得分:0)

而不是(会导致一些问题),你可以摆脱while循环并让手机输入标签只有一个onchange="dynamicPhoneAddon()"

答案 2 :(得分:0)

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

当用户在文本字段上键入内容时,您可以采取哪些措施来监听onkeypress等事件:

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

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