[英]Selection onchange event triggering javascript that pulls array value and replaces the value of a hidden field
在上一個問題問完之后,我再也沒有得到任何答復。 謝謝大家,我從上一個問題中得到了很多幫助。 我這樣做的方法是,基於選擇“有關”,它將從數組中提取鏡像索引值(電子郵件地址),並用它替換“收件人”值。 有一些選擇將提取相同的電子郵件地址。 這是我遇到的最后一個問題-使用帶有“ email#1,email#2,....”的Java腳本的測試頁在mtsherman的測試頁上工作(感謝一堆!)。 當我將實際的電子郵件添加到此數組中時,它不會將值拉到收件人值。 這可能是一個非常簡單的修復程序,但是我是新手,很沮喪! 提前致謝。
<html>
<head>
<script language="JavaScript">
document.getElementById('Concerning').onchange = function() {
var myArray = ["Empty",
"None@none.com",
"None1@none.com",
"None2@none.com",
"None1@none.com",
"None4@none.com",
"None5@none.com",
"None1@none.com",
"None7@none.com",
"None8@none.com",
"None9@none.com",
"None5@none.com",
"None8@none.com"];
document.getElementsByName('recipient')[0].value = myArray[this.selectedIndex];
};
</script>
</head>
<body>
<form action="/cgi-bin/formmail" method="post">
<select id="Concerning">
<option value="Choose One">Choose One
<option value="Benefits">Benefits
<option value="Customer_Service">Customer Service
<option value="Employee_Paperwork">Employee Paperwork
<option value="Human_Resources"> Human Resources
<option value="Open_Positions">Open Positions
<option value="Payroll">Payroll
<option value="Quote_Request">Quote Request
<option value="Safety">Safety
<option value="Technical_Support">Technical Support
<option value="Training">Training
<option value="Unemployment">Unemployment
<option value="Workers_Compensation">Workers' Compensation
</select>
<input TYPE="hidden" NAME="recipient" VALUE="">
<input TYPE="hidden" NAME="subject" VALUE="Contact Form">
<input TYPE="hidden" NAME="email" VALUE="postmaster@company.com">
<input TYPE="hidden" NAME="required" VALUE="Name,Phone,Email,Concerning,Comments">
</form>
</body>
</html>
您的代碼在頁面加載之前正在運行。 您應該在JavaScript控制台中看到一個錯誤,抱怨document.getElementById('Concerning')
為null
。 使用onload處理程序來延遲代碼執行,直到頁面准備就緒:
window.onload = function () {
document.getElementById('Concerning').onchange = function () {
...
};
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.