//身份证号-出生日期-性别联动
1、javascript脚本
<script>
function sfzhm_change()
{
var val =document.getElementById("myForm:sfzhm").value;
var birthdayValue,sexValue;
if(15==val.length || 18==val.length)
{
if(15==val.length)
{
//15位身份证号码
birthdayValue = val.charAt(6)+val.charAt(7);
if(parseInt(birthdayValue) < 10)
{
birthdayValue = '20'+birthdayValue;
}
else
{
birthdayValue = '19'+birthdayValue;
}
birthdayValue=birthdayValue+'-'+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11);
jsCsrq.setValue(birthdayValue);
if(parseInt(val.charAt(14)/2)*2!=val.charAt(14))
{
jsXb.setValue('01');
}
else
{
jsXb.setValue('02');
}
}
if(18==val.length)
{
//18位身份证号码
birthdayValue=val.charAt(6)+val.charAt(7)+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11)+'-'+val.charAt(12)+val.charAt(13);
jsCsrq.setValue(birthdayValue);
if(parseInt(val.charAt(16)/2)*2!=val.charAt(16))
jsXb.setValue('01');
else
jsXb.setValue('02');
}
}
else
{
alert('必须输入15位或18位身份证号码!');
}
}
</script>
2、控件设置
<w:textField width="140" onchange="sfzhm_change();" id="sfzhm" required="true" requiredMessage="必须输入!" />
<w:combo width="140" id="xb" jsvar="jsXb" editable="false" allowBlank="false" required="true" requiredMessage="必须输入!">
<f:selectItems id="xbList" />
</w:combo>
<w:dateField width="140" jsvar="jsCsrq" id="csrq" required="true" requiredMessage="必须输入!" />
3、脚本位置
ajaxupdater打开的放在父窗口的head,其他方在本页面的head