感谢您抽出时间来帮助我。 我希望得到帮助的是我的日期选择器。我正在构建一个小型webform,作为电子邮件的模板。因此,我们的想法是填写表单,点击创建,然后使用表单信息填充电子邮件。 但是,我的日期选择器要求我选择日期两次,直到它将正确的日期输出到电子邮件。第一次选择将不会产生任何结果,第三次尝试将导致第二次选择输出,依此类推。
我正在使用Jquery 1.12.4,我的代码如下:
JS:
$(function(){
$( "#IncidentDateInput" ).datepicker({
dateFormat: 'dd/mm/yy'
});
});
function updateMailString() {
mailString = '?subject=' + encodeURIComponent($('#subject').val())
+ '&body=Agent Name: ' + encodeURIComponent($('#AgentNameInput').val())
+"%0D%0AMDN: " +encodeURIComponent($('#MDNInput').val())
+"%0D%0ADevice: " +encodeURIComponent($('#DeviceInput').val())
+"%0D%0AIssue: " +encodeURIComponent($('#IssueInput').val())
+"%0D%0ADate: " +encodeURIComponent($('#IncidentDateInput').val());
var receiver = encodeURIComponent($('#ReceiverInput').val());
$('#mail-link').attr('href', 'mailto:' + receiver + mailString);
}
$( "#IncidentDateInput" ).focusout(function() { updateMailString(); });
HTML:
<input type="text" id="IncidentDateInput" />
任何见解都会很棒,谢谢。
答案 0 :(得分:3)
尝试使用change
代替focusout
。使用focusout
时,输入仍为空,并调用updateMailString
函数。在使用change
函数时,在输入(datepicker)更改后,调用updateMailString
函数
$(document).ready(function() {
$('#IncidentDateInput').datepicker({
dateFormat: 'dd/mm/yy',
});
$("#IncidentDateInput").change(function() {
updateMailString();
});
})
function updateMailString() {
mailString = '?subject=' + encodeURIComponent($('#subject').val()) + "%0D%0ADate: " + encodeURIComponent($('#IncidentDateInput').val());
var receiver = encodeURIComponent($('#ReceiverInput').val());
$('#mail-link').attr('href', 'mailto:' + receiver + mailString);
alert($('#mail-link').attr('href'))
}