Javascript 用于填充文本字段的JS脚本
我有一个我正在处理的录取申请表,我正在尝试根据是否选中某些单选按钮来填充表单输入(根据表单中的答案填充电子邮件主题)。我的Javascript 用于填充文本字段的JS脚本,javascript,html,Javascript,Html,我有一个我正在处理的录取申请表,我正在尝试根据是否选中某些单选按钮来填充表单输入(根据表单中的答案填充电子邮件主题)。我的底部有下面的代码,并且在中也尝试过,但没有成功。有没有想过为什么这似乎不起作用 <script type="text/javascript"> if (form.id1.checked == true) { document.getElementById("EMAIL_TITLE").value = "subject lin
底部有下面的代码,并且在
中也尝试过,但没有成功。有没有想过为什么这似乎不起作用
<script type="text/javascript">
if (form.id1.checked == true) {
document.getElementById("EMAIL_TITLE").value = "subject line";
}
else if (form.id2.checked == true) {
document.getElementById("EMAIL_TITLE").value = "subject line";
}
else if (form.id3.checked == true) {
document.getElementById("EMAIL_TITLE").value = "subject line";
}
else if (form.id4.checked == true) {
document.getElementById("EMAIL_TITLE").value = "subject line";
}
else if (form.id5.checked == true) {
document.getElementById("EMAIL_TITLE").value = "subject line";
}
else {
document.getElementById("EMAIL_TITLE").value = "unknown";
}
</script>
if(form.id1.checked==true){
document.getElementById(“电子邮件标题”).value=“主题行”;
}
else if(form.id2.checked==true){
document.getElementById(“电子邮件标题”).value=“主题行”;
}
else if(form.id3.checked==true){
document.getElementById(“电子邮件标题”).value=“主题行”;
}
else if(form.id4.checked==true){
document.getElementById(“电子邮件标题”).value=“主题行”;
}
else if(form.id5.checked==true){
document.getElementById(“电子邮件标题”).value=“主题行”;
}
否则{
document.getElementById(“电子邮件标题”).value=“未知”;
}
根据@mhatch的回答,我已将代码更新为以下内容,但仍有问题。在这一点上,我可能遗漏了一些简单/基本的东西,但我不知道是什么
<script type="text/javascript">
function handleChange()
{
var value = document.form.Request_Type.value;
if (value == "Request_Access") {
document.getElementById("EMAIL_TITLE").value = "subject line 1";
}
else if (value == "Request_Support") {
document.getElementById("EMAIL_TITLE").value = "subject line 2";
}
else if (value == "Request_Reporting") {
document.getElementById("EMAIL_TITLE").value = "subject line 3";
}
else if (value == "Request_Retire") {
document.getElementById("EMAIL_TITLE").value = "subject line 4";
}
else if (value == "Request_Other") {
document.getElementById("EMAIL_TITLE").value = "subject line 5";
}
else {
document.getElementById("EMAIL_TITLE").value = "subject line - Unknown";
}
}
</script>
<input type="radio" name="Request_Type" onchange="handleChange();" value="Request_Access" id="access">
<input type="radio" name="Request_Type" onchange="handleChange();" value="Request_Support" id="support">
<input type="radio" name="Request_Type" onchange="handleChange();" value="Request_Reporting" id="reporting">
<input type="radio" name="Request_Type" onchange="handleChange();" value="Request_Retire" id="retire">
<input type="radio" name="Request_Type" onchange="handleChange();" value="Request_Other" id="other">
函数handleChange()
{
var值=document.form.Request\u Type.value;
如果(值=“请求访问”){
document.getElementById(“电子邮件标题”).value=“主题行1”;
}
else if(值=“请求支持”){
document.getElementById(“电子邮件标题”).value=“主题行2”;
}
else if(值=“请求报告”){
document.getElementById(“电子邮件标题”).value=“主题行3”;
}
else if(值=“请求退出”){
document.getElementById(“电子邮件标题”).value=“主题行4”;
}
else if(值=“请求\其他”){
document.getElementById(“电子邮件标题”).value=“主题行5”;
}
否则{
document.getElementById(“EMAIL_TITLE”).value=“主题行-未知”;
}
}
首先,如果它们是单选按钮,则它们需要具有相同的名称
属性。代码form.id1.checked
表明每个按钮都有自己的名称值。这将导致所有按钮可同时单击。如果这是您想要的,您应该使用复选框
其次,您需要将逻辑附加到事件
我想你在找这样的东西:
函数handleChange(){
var值=document.form.id.value;
如果(值=“1”){
document.getElementById(“电子邮件标题”).value=“主题行1”;
}
否则如果(值=“2”){
document.getElementById(“电子邮件标题”).value=“主题行2”;
}
否则如果(值=“3”){
document.getElementById(“电子邮件标题”).value=“主题行3”;
}
否则如果(值=“4”){
document.getElementById(“电子邮件标题”).value=“主题行4”;
}
否则如果(值=“5”){
document.getElementById(“电子邮件标题”).value=“主题行5”;
}
否则{
document.getElementById(“电子邮件标题”).value=“未知”;
}
}
您的电子邮件标题左侧有双引号。这也将在页面加载时运行,而不是由于选择了单选选项。这可能不是你所期望的…抱歉,这不是我的实际代码,只是我取出任何敏感信息时输入的一个错误,我将编辑我的帖子以更正。你是试图在用户单击单选按钮时设置电子邮件标题,还是只检查是否选中?你需要附加一个事件侦听器,它侦听单选按钮上的单击/更改事件,然后触发此逻辑。否则正如@JayBuckman所说,您的逻辑将只在运行时运行,并且只运行一次。这看起来正是我所需要的,谢谢!关于名称属性,我确实将它们都设置为相同的名称,只是设置了不同的值。我应该在代码中以不同的方式指定它们,以避免混淆。@ddrees如果这解决了您的问题,请将其标记为答案。谢谢,在用你的建议更新我的代码后,我仍然有问题。我更新了我原来的帖子,在你的推荐下,我的代码现在是什么样子的代码>您的输入是否在表单标签中?点表示法使用name属性,因此document.[form name].Request\u Type.value
My输入位于表单标记内的表标记中。