gpt4 book ai didi

用于调查的 Javascript : Calculating Age from Birth date on Page Load From Prefilled Info

转载 作者:行者123 更新时间:2023-11-29 15:30:26 24 4
gpt4 key购买 nike

我目前在我的一项 SurveyGizmo 调查中执行了以下 Javascript 操作。

它的目的是计算某人指定出生日期时的确切年龄(按特定日期)。

但是,我们通常会在调查中预先填写信息。问题是当日期已经预填到 dob 文本框中时,脚本不会触发。有没有办法确保在加载页面以及更改文本框时更新年龄文本框?

感谢您提供的任何帮助/

$SG(document).ready(function(){
if ($SG('body').attr('id') != 'app') {
var textbox = $SG('#sgE-2604126-33-6-element'); //dob box
$tgtbox = $SG("#sgE-2604126-33-254-element"); //age box
$minage = 21; //minimum age
$errortxt = 'You must be at least ' + $minage + ' years old to continue';

textbox.change(function(){
console.log($SG(this).val());
var birth = $SG(this).val();

function getAge(birth) {

var d = new Date(2016,3,16);
var n = d.getTime();
console.log(n);

var c = Date.parse(birth);
console.log(c);

var a = (d - c) /(1000*60*60*24*365);
var result=(a*100)/100;
console.log(result);

$tgtbox.val(result);
//alert(result);
}
getAge(birth);
});
}

//submit validation
$('.sg-survey-form').submit(function(e){

if($tgtbox.val() < $minage) {
//alert($tgtbox.val());
//alert($minage);

$('.sg-error-message').text($errortxt).fadeIn('slow');
e.preventDefault();

}

}); //end submit validation


});

最佳答案

在文本框中发生更改事件之前,您的代码不会设置年龄显示。如果文本框中有预加载的内容,则需要初始化年龄显示。

要初始化年龄显示,看起来您只需要在加载时调用您在 textbox.change 上触发的代码。像这样:

function setAge() {
console.log($SG(this).val());
var birth = $SG(this).val();

function getAge(birth) {

var d = new Date(2016,3,16);
var n = d.getTime();
console.log(n);

var c = Date.parse(birth);
console.log(c);

var a = (d - c) /(1000*60*60*24*365);
var result=(a*100)/100;
console.log(result);

$tgtbox.val(result);
//alert(result);
}
getAge(birth);
}

// run upon textbox change event
textbox.change(function() { setAge(); } );

// run right now
setAge();

或者这里是没有不必要位的代码片段:

function setAge() {
console.log($SG(this).val());
var birth = $SG(this).val();
var d = new Date(2016,3,16);
var n = d.getTime();
var c = Date.parse(birth);
var a = (d - c) /(1000*60*60*24*365);
var result=(a*100)/100;
$tgtbox.val(result);
}

// update age upon textbox change event
textbox.change(function() { setAge() } );
// update age right away
setAge();

关于用于调查的 Javascript : Calculating Age from Birth date on Page Load From Prefilled Info,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com