我正在尝试根据用户更改生成自动电子邮件地址。
关键是要打印域名,其余的都可以正常工作。
这是我的问题,我正在获取元素ID,如果Var x的元素ID根据选择采用其他var的值,则X保持未定义状态。
我认为选择其他选项时无法检测到。
任何帮助将不胜感激。
<select name="select" id="selecto">
<option value="">--Please choose an option--</option>
<option value="value1" id="1">SEE</option>
<option value="value2" id = "2">Guillebert</option>
<option value="value3" id = "3">Saelen</option>
<option value="value4" id ="4">SEE Produktion</option>
<option value="value5" id ="5">TS-Industrie</option>
<option value="value6" id="6">Schliesing</option>
</select>
<script type="text/javascript">
var a = "@groupesee.com";
var b = "@guillebert.fr";
var c = "@saelen.fr";
var d = "@see-produktion.net;"
var e = "@ts-industrie.de";
var g = "@schliesing.net";
var x;
if(document.getElementById('selecto').value == "value1") {
x = a;
alert("Success");
}
</script>
由于某种原因,即使我从表单中选择value1,我也不明白为什么var x保持为空。
<script>
$("#field1, #field2").keyup(function(){
update();
});
function update() {
$("#result").val($('#field1').val().substr(0,1).toLowerCase() + $('#field2').val().toLowerCase()+x);
}
</script>
结果
答案 0 :(得分:0)
您的代码仅在加载时运行。它只会检查一次选择元素 的值(在页面加载和执行script元素时)。
如果您希望每次更改select元素时都运行它,那么您需要这样说。
答案 1 :(得分:0)
这里是修复,使用Update函数中的。 :) Tyvm @昆汀
function update() {
var a = "@groupesee.com";
var b = "@guillebert.fr";
var c = "@saelen.fr";
var d = "@see-produktion.net;"
var e = "@ts-industrie.de";
var g = "@schliesing.net";
var x;
var elt = document.getElementById(selecto);
if(document.getElementById('selecto').value == "value1") {
x = a;
} if(document.getElementById('selecto').value == "value2") {
x = b;
}
if(document.getElementById('selecto').value == "value3") {
x = c;
}
if(document.getElementById('selecto').value == "value4") {
x = c;
}
if(document.getElementById('selecto').value == "value5") {
x = c;
}
if(document.getElementById('selecto').value == "value6") {
x = c;
}
$("#result").val($('#field1').val().substr(0,1).toLowerCase() + $('#field2').val().toLowerCase()+x);
}