如何使用HTML与JavaScript实现用户输入内容插入句子中间功能
句子插入功能实现代码
可直接运行的完整HTML+JS代码,完全匹配需求:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>模板句子生成器</title> <style> * { box-sizing: border-box; margin: 0; padding: 0; } .wrap { width: 90%; max-width: 500px; margin: 40px auto; } .input-bar { display: flex; gap: 8px; margin-bottom: 20px; } #wordInput { flex: 1; padding: 8px 12px; font-size: 16px; border: 1px solid #ddd; border-radius: 4px; } #genBtn { padding: 8px 16px; border: none; border-radius: 4px; background: #1677ff; color: #fff; cursor: pointer; font-size: 16px; } #genBtn:hover { background: #0f5ec9; } .result-box { padding: 16px; border: 1px solid #eee; border-radius: 4px; font-size: 18px; line-height: 1.5; min-height: 60px; } /* em标签默认斜体,可按需调整样式 */ .result-box em { color: #f5222d; padding: 0 2px; } </style> </head> <body> <div class="wrap"> <div class="input-bar"> <input type="text" id="wordInput" placeholder="输入要插入的词汇"> <button id="genBtn">生成句子</button> </div> <div class="result-box" id="resultBox"></div> </div> <script> // 预置模板句子 const templateStr = 'Aku sedang [User Input] disekolah.'; const inputDom = document.getElementById('wordInput'); const btnDom = document.getElementById('genBtn'); const resultDom = document.getElementById('resultBox'); // 生成逻辑 function generateSentence() { const inputVal = inputDom.value.trim(); if (!inputVal) { resultDom.textContent = '请先输入要插入的词汇'; return; } // 替换占位符,插入内容用em标签包裹 const finalStr = templateStr.replace('[User Input]', `<em>${inputVal}</em>`); resultDom.innerHTML = finalStr; } btnDom.addEventListener('click', generateSentence); // 支持回车快速生成 inputDom.addEventListener('keydown', e => { if (e.key === 'Enter') generateSentence(); }) </script> </body> </html>
功能说明
- 预置模板固定为
Aku sedang [User Input] disekolah.,自动识别[User Input]作为内容插入位 - 页面包含文本输入框、生成触发按钮,额外支持回车键快速触发生成
- 用户输入内容自动用
<em>标签包裹,默认渲染为斜体,代码中额外给插入内容加了红色高亮,不需要可自行删除对应样式 - 加入空输入校验,未输入内容时会提示,不会生成异常句子
- 代码无外部依赖,保存为.html文件直接用浏览器打开即可使用,输入
makan测试即可得到示例效果:Aku sedang makan disekolah.
内容的提问来源于stack exchange,提问作者Aseel Pratama
相关产品推荐
相关产品推荐

