如何将随机生成的姓名加载到文本输入框?代码问题咨询
嘿,我明白你的问题啦——你想把随机生成的姓名直接放到那个文本输入框里,但现在用value="<p id='demo1'></p>"的方式完全不对,而且你的onload事件只是把内容写到了一个p标签里,根本没和输入框关联起来。
问题根源
- 输入框的
value属性只接受纯文本内容,不能嵌套HTML标签,你写的<p id='demo1'></p>只会被当成普通字符串显示,根本起不到传递内容的作用。 - 你当前的
onload逻辑是把随机姓名写入到demo1这个p标签里,和目标输入框input_7没有任何关联,所以输入框自然不会加载到姓名。
修正方案
直接去掉中间的p标签,在onload事件里直接操作输入框的value属性就好,步骤如下:
- 移除输入框里无效的
value="<p id='demo1'></p>"(本来就是空的,直接保留value=""就行) - 修改
body的onload事件,让它直接把随机姓名赋值给输入框的value
完整可运行代码示例
<!-- 你的目标输入框 --> <input type="text" id="input_7" name="q7_def" data-type="input-textbox" class="form-textbox" size="20" value="" placeholder="" data-component="textbox"/> <!-- 模拟你的随机姓名生成函数(你可以替换成自己的实现) --> <script> function getRandomName1() { const nameList = ["Alice", "Bob", "Charlie", "Diana"]; return nameList[Math.floor(Math.random() * nameList.length)]; } </script> <!-- 修改后的onload逻辑 --> <body onload="document.getElementById('input_7').value = getRandomName1();"> </body>
这样页面加载时,getRandomName1()返回的随机姓名就会直接填充到input_7这个文本输入框里啦~
内容的提问来源于stack exchange,提问作者Nel
相关产品推荐
相关产品推荐

