Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于填充文本字段的JS脚本_Javascript_Html - Fatal编程技术网

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输入位于表单标记内的表标记中。