james1234 Posted January 16, 2015 Report Share Posted January 16, 2015 Hi, I'm new to Caspio. I have a 9 date text fields with calendar picker. When user picks date for 1st field I need the subsequent 8 fields to populate with the 1st field's date + 1 business day. The result would be as follows: field 1 - 01/16/2015 SELECTED field 2 - 01/19/2015 AUTOPOPULATED field 3 - 01/20/2015 AUTOPOPULATED field 4 - 01/21/2015 AUTOPOPULATED field 5 - 01/22/2015 AUTOPOPULATED field 6 - 01/23/2015 AUTOPOPULATED field 7 - 01/26/2015 AUTOPOPULATED field 8 - 01/27/2015 AUTOPOPULATED field 9 - 01/28/2015 AUTOPOPULATED THEN SUBMIT* Any help, javascript and/or implementation would be greatly appreciated. Thanks. lbyirsva53 1 Quote Link to comment Share on other sites More sharing options...
Jan Posted January 19, 2015 Report Share Posted January 19, 2015 Hello james1234, If I understand correctly, 1 business day means, that if the previous day is Friday, the next day should by Monday. Is it correct? Quote Link to comment Share on other sites More sharing options...
james1234 Posted January 21, 2015 Author Report Share Posted January 21, 2015 Yes thank you I need to only use business days Quote Link to comment Share on other sites More sharing options...
Jan Posted January 22, 2015 Report Share Posted January 22, 2015 Hello james1234, I have added a Rule to disable field2 - field9 (you can create a new section, move the fields to this section, then add a Rule with the "Value = 1 equal Value = 1" Condition and the "disable the section" Action). I hope the following code helps: <SCRIPT LANGUAGE="JavaScript"> function nextDate(baseDate) { var base_day = baseDate.getDate(); base_day = base_day + 1; var next_Date = new Date (baseDate.setDate(base_day)); var week_day = next_Date.getDay(); if (week_day==0) { base_day = base_day + 1; var next_Date2 = new Date (next_Date.setDate(base_day)); } if (week_day==6) { base_day = base_day + 2; var next_Date2 = new Date (next_Date.setDate(base_day)); } return next_Date; } function setFormat(next_Date) { var d_month = next_Date.getMonth() + 1; if (d_month<10) {d_month = "0" + d_month;} var d_day = next_Date.getDate(); if (d_day<10) {d_day = "0" + d_day;} var d_year = next_Date.getFullYear(); var str_date = d_month + "/" + d_day + "/" + d_year; return str_date; } function setDates() { var f_Date = document.getElementById("InsertRecordfield1").value; var first_Date = new Date(Date.parse(f_Date)); var second_date = new Date (nextDate(first_Date)); document.getElementById("InsertRecordfield2").value=setFormat(second_date); var third_date = new Date (nextDate(second_date)); document.getElementById("InsertRecordfield3").value=setFormat(third_date); var forth_date = new Date (nextDate(third_date)); document.getElementById("InsertRecordfield4").value=setFormat(forth_date); var fifth_date = new Date (nextDate(forth_date)); document.getElementById("InsertRecordfield5").value=setFormat(fifth_date); var sixth_date = new Date (nextDate(fifth_date)); document.getElementById("InsertRecordfield6").value=setFormat(sixth_date); var seventh_date = new Date (nextDate(sixth_date)); document.getElementById("InsertRecordfield7").value=setFormat(seventh_date); var eights_date = new Date (nextDate(seventh_date)); document.getElementById("InsertRecordfield8").value=setFormat(eights_date); var ninth_date = new Date (nextDate(eights_date)); document.getElementById("InsertRecordfield9").value=setFormat(ninth_date); } document.getElementById("InsertRecordfield1").onchange=setDates; </SCRIPT> Please insert names of your fields instead of field1-field9. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.