所以在我脑海里>我有以下代码:
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的链接。
答案 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通常更多跨浏览器)