Calculate totals in Web Form Builder? - Page 11


Senior Advisor
17,824 posts
Online Now

Here ya go.;)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
//ver 3.0
var jQ = $.noConflict(true);
jQ(document).ready(function(){
jQ("input[name^='COST']").attr('readonly', true);
jQ("input[name='TOTAL']").attr('readonly', true);
// Create expired date
var expiredDate = new Date("02/06/2018");
// Get today's date
var todaysDate = new Date();

jQ("input[name^='FUNC']").change(function() {
jQ("input[name^='COST']").val("");
var COST1 = 0;
var COST2 = 0;
var COST3 = 0;
var COST4 = 0;
var COST5 = 0;

jQ.each(jQ("input[name^='FUNC']:checked"), function(){
var name = jQ("input[name^='FUNC']:checked").attr("name");
var numbers = this.name.match(/\d+/);

// call setHours to take the time out of the comparison
if(expiredDate.setHours(0,0,0,0) > todaysDate.setHours(0,0,0,0)) {

//*** set the cost if before expired date for first FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Mbr Reg + 3 Meals"){
eval('var ADLT_Mbr_Reg_Meals' + numbers + '=80');}else {eval('var ADLT_Mbr_Reg_Meals' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Mbr Reg"){
eval('var ADLT_Mbr_Reg' + numbers + '=40');}else {eval('var ADLT_Mbr_Reg' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Reg + 3 Meals"){
eval('var COL_Mbr_Reg_Meals' + numbers + '=60');}else {eval('var COL_Mbr_Reg_Meals' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Reg"){
eval('var COL_Mbr_Reg' + numbers + '=30');}else {eval('var COL_Mbr_Reg' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Reg + 3 Meals"){
eval('var JOI_Mbr_Reg_Meals' + numbers + '=50');}else { eval('var JOI_Mbr_Reg_Meals' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Reg"){
eval('var JOI_Mbr_Reg' + numbers + '=25');}else { eval('var JOI_Mbr_Reg' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Not Reg"){
eval('var Not_Reg' + numbers + '=0');}else { eval('var Not_Reg' + numbers + '=0');}



//*** set the cost if before expired date for second FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Lch"){
eval('var ADLT_Lch' + numbers + '=25');}else {eval('var ADLT_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Lch"){
eval('var COL_Mbr_Lch' + numbers + '=20');}else {eval('var COL_Mbr_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Lch"){
eval('var JOI_Mbr_Lch' + numbers + '=15');}else { eval('var JOI_Mbr_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Child Lch"){
eval('var Child_Lch' + numbers + '=10');}else { eval('var Child_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "No Lch"){
eval('var No_Lch' + numbers + '=0');}else { eval('var No_Lch' + numbers + '=0');}




//*** set the cost if before expired date for third FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Din"){
eval('var ADLT_Din' + numbers + '=45');}else {eval('var ADLT_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Din"){
eval('var COL_Mbr_Din' + numbers + '=10');}else {eval('var COL_Mbr_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Din"){
eval('var JOI_Mbr_Din' + numbers + '=40');}else {eval('var JOI_Mbr_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Child Din"){
eval('var Child_Din' + numbers + '=10');}else { eval('var Child_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "No Din"){
eval('var No_Din' + numbers + '=0');}else { eval('var No_Din' + numbers + '=0');}


//*** set the cost if before expired date for fourth FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Bft"){
eval('var ADLT_Bft' + numbers + '=25');}else {eval('var ADLT_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Bft"){
eval('var COL_Mbr_Bft' + numbers + '=20');}else {eval('var COL_Mbr_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Bft"){
eval('var JOI_Mbr_Bft' + numbers + '=15');}else {eval('var JOI_Mbr_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Child Bft"){
eval('var Child_Bft' + numbers + '=10');}else { eval('var Child_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "No Bft"){
eval('var No_Bft' + numbers + '=0');}else { eval('var No_Bft' + numbers + '=0');}


}else{
//*** set the cost if after expired date for first FUNC ***//
//*** set the cost if before expired date for first FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Mbr Reg + 3 Meals"){
eval('var ADLT_Mbr_Reg_Meals' + numbers + '=90');}else {eval('var ADLT_Mbr_Reg_Meals' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Mbr Reg"){
eval('var ADLT_Mbr_Reg' + numbers + '=45');}else {eval('var ADLT_Mbr_Reg' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Reg + 3 Meals"){
eval('var COL_Mbr_Reg_Meals' + numbers + '=60');}else {eval('var COL_Mbr_Reg_Meals' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Reg"){
eval('var COL_Mbr_Reg' + numbers + '=40');}else {eval('var COL_Mbr_Reg' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Reg + 3 Meals"){
eval('var JOI_Mbr_Reg_Meals' + numbers + '=60');}else { eval('var JOI_Mbr_Reg_Meals' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Reg"){
eval('var JOI_Mbr_Reg' + numbers + '=30');}else { eval('var JOI_Mbr_Reg' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Not Reg"){
eval('var Not_Reg' + numbers + '=0');}else { eval('var Not_Reg' + numbers + '=0');}



//*** set the cost if before expired date for second FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Lch"){
eval('var ADLT_Lch' + numbers + '=30');}else {eval('var ADLT_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Lch"){
eval('var COL_Mbr_Lch' + numbers + '=25');}else {eval('var COL_Mbr_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Lch"){
eval('var JOI_Mbr_Lch' + numbers + '=20');}else { eval('var JOI_Mbr_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Child Lch"){
eval('var Child_Lch' + numbers + '=40');}else { eval('var Child_Lch' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "No Lch"){
eval('var No_Lch' + numbers + '=0');}else { eval('var No_Lch' + numbers + '=0');}




//*** set the cost if before expired date for third FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Din"){
eval('var ADLT_Din' + numbers + '=50');}else {eval('var ADLT_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Din"){
eval('var COL_Mbr_Din' + numbers + '=45');}else {eval('var COL_Mbr_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Din"){
eval('var JOI_Mbr_Din' + numbers + '=40');}else {eval('var JOI_Mbr_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Child Din"){
eval('var Child_Din' + numbers + '=10');}else { eval('var Child_Din' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "No Din"){
eval('var No_Din' + numbers + '=0');}else { eval('var No_Din' + numbers + '=0');}


//*** set the cost if before expired date for fourth FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Bft"){
eval('var ADLT_Bft' + numbers + '=30');}else {eval('var ADLT_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "COL Mbr Bft"){
eval('var COL_Mbr_Bft' + numbers + '=25');}else {eval('var COL_Mbr_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "JOI Mbr Bft"){
eval('var JOI_Mbr_Bft' + numbers + '=20');}else {eval('var JOI_Mbr_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "Child Bft"){
eval('var Child_Bft' + numbers + '=10');}else { eval('var Child_Bft' + numbers + '=0');}

if(jQ(this).is(':checked') && jQ(this).val() == "No Bft"){
eval('var No_Bft' + numbers + '=0');}else { eval('var No_Bft' + numbers + '=0');}

}

eval('var ADLT_MBR_REG_NUM_MEALS = ADLT_Mbr_Reg_Meals' + numbers);
eval('var ADLT_MBR_REG_NUM = ADLT_Mbr_Reg' + numbers);
eval('var COL_MBR_REG_MEALS_NUM = COL_Mbr_Reg_Meals' + numbers);
eval('var COL_MBR_REG_NUM = COL_Mbr_Reg' + numbers);
eval('var JOI_MBR_REG_MEALS_NUM = JOI_Mbr_Reg_Meals' + numbers);
eval('var JOI_MBR_REG_NUM = JOI_Mbr_Reg' + numbers);
eval('var NOT_REG_NUM = Not_Reg' + numbers);

eval('var ADLT_LCH_NUM = ADLT_Lch' + numbers);
eval('var COL_MBR_LCH_NUM = COL_Mbr_Lch' + numbers);
eval('var JOI_MBR_LCH_NUM = JOI_Mbr_Lch' + numbers);
eval('var CHILD_LCH_NUM = Child_Lch' + numbers);
eval('var NO_LCH_NUM = No_Lch' + numbers);

eval('var ADLT_DIN_NUM = ADLT_Din' + numbers);
eval('var COL_MBR_DIN_NUM = COL_Mbr_Din' + numbers);
eval('var JOI_MBR_DIN_NUM = JOI_Mbr_Din' + numbers);
eval('var CHLD_DIN_NUM = Child_Din' + numbers);
eval('var NO_DIN_NUM = No_Din' + numbers);

eval('var ADLT_BFT_NUM = ADLT_Bft' + numbers);
eval('var COL_MBR_BFT_NUM = COL_Mbr_Bft' + numbers);
eval('var JOI_MBR_BFT_NUM = JOI_Mbr_Bft' + numbers);
eval('var CHILD_BFT_NUM = Child_Bft' + numbers);
eval('var NO_BFT_NUM = No_Bft' + numbers);


//*** This passes the variable into the next cost input and sums the variables ***//
if(numbers == 11 || numbers == 12 ||numbers == 13 ||numbers == 14){

COST1 += Number(ADLT_MBR_REG_NUM_MEALS)
+Number(ADLT_MBR_REG_NUM)
+Number(COL_MBR_REG_MEALS_NUM)
+Number(COL_MBR_REG_NUM)
+Number(JOI_MBR_REG_MEALS_NUM)
+Number(JOI_MBR_REG_NUM)
+Number(NOT_REG_NUM)

+Number(ADLT_LCH_NUM)
+Number(COL_MBR_LCH_NUM)
+Number(JOI_MBR_LCH_NUM)
+Number(CHILD_LCH_NUM)
+Number(NO_LCH_NUM)

+Number(ADLT_DIN_NUM)
+Number(COL_MBR_DIN_NUM)
+Number(JOI_MBR_DIN_NUM)
+Number(CHLD_DIN_NUM)
+Number(NO_DIN_NUM)

+Number(ADLT_BFT_NUM)
+Number(COL_MBR_BFT_NUM)
+Number(JOI_MBR_BFT_NUM)
+Number(CHILD_BFT_NUM)
+Number(NO_BFT_NUM) ;
if(COST1 > 0){
jQ("input[name='COST1']").val(parseFloat(COST1).toFixed(2));
}
}
if(numbers == 21 || numbers == 22 ||numbers == 23 ||numbers == 24){

COST2 += Number(ADLT_MBR_REG_NUM_MEALS)
+Number(ADLT_MBR_REG_NUM)
+Number(COL_MBR_REG_MEALS_NUM)
+Number(COL_MBR_REG_NUM)
+Number(JOI_MBR_REG_MEALS_NUM)
+Number(JOI_MBR_REG_NUM)
+Number(NOT_REG_NUM)

+Number(ADLT_LCH_NUM)
+Number(COL_MBR_LCH_NUM)
+Number(JOI_MBR_LCH_NUM)
+Number(CHILD_LCH_NUM)
+Number(NO_LCH_NUM)

+Number(ADLT_DIN_NUM)
+Number(COL_MBR_DIN_NUM)
+Number(JOI_MBR_DIN_NUM)
+Number(CHLD_DIN_NUM)
+Number(NO_DIN_NUM)

+Number(ADLT_BFT_NUM)
+Number(COL_MBR_BFT_NUM)
+Number(JOI_MBR_BFT_NUM)
+Number(CHILD_BFT_NUM)
+Number(NO_BFT_NUM);

if(COST2 > 0){
jQ("input[name='COST2']").val(parseFloat(COST2).toFixed(2));
}
}
if(numbers == 31 || numbers == 32 ||numbers == 33 ||numbers == 34){

COST3 += Number(ADLT_MBR_REG_NUM_MEALS)
+Number(ADLT_MBR_REG_NUM)
+Number(COL_MBR_REG_MEALS_NUM)
+Number(COL_MBR_REG_NUM)
+Number(JOI_MBR_REG_MEALS_NUM)
+Number(JOI_MBR_REG_NUM)
+Number(NOT_REG_NUM)

+Number(ADLT_LCH_NUM)
+Number(COL_MBR_LCH_NUM)
+Number(JOI_MBR_LCH_NUM)
+Number(CHILD_LCH_NUM)
+Number(NO_LCH_NUM)

+Number(ADLT_DIN_NUM)
+Number(COL_MBR_DIN_NUM)
+Number(JOI_MBR_DIN_NUM)
+Number(CHLD_DIN_NUM)
+Number(NO_DIN_NUM)

+Number(ADLT_BFT_NUM)
+Number(COL_MBR_BFT_NUM)
+Number(JOI_MBR_BFT_NUM)
+Number(CHILD_BFT_NUM)
+Number(NO_BFT_NUM) ;
if(COST3 > 0){
jQ("input[name='COST3']").val(parseFloat(COST3).toFixed(2));
}
}
if(numbers == 41 || numbers == 42 ||numbers == 43 ||numbers == 44){

COST4 += Number(ADLT_MBR_REG_NUM_MEALS)
+Number(ADLT_MBR_REG_NUM)
+Number(COL_MBR_REG_MEALS_NUM)
+Number(COL_MBR_REG_NUM)
+Number(JOI_MBR_REG_MEALS_NUM)
+Number(JOI_MBR_REG_NUM)
+Number(NOT_REG_NUM)

+Number(ADLT_LCH_NUM)
+Number(COL_MBR_LCH_NUM)
+Number(JOI_MBR_LCH_NUM)
+Number(CHILD_LCH_NUM)
+Number(NO_LCH_NUM)

+Number(ADLT_DIN_NUM)
+Number(COL_MBR_DIN_NUM)
+Number(JOI_MBR_DIN_NUM)
+Number(CHLD_DIN_NUM)
+Number(NO_DIN_NUM)

+Number(ADLT_BFT_NUM)
+Number(COL_MBR_BFT_NUM)
+Number(JOI_MBR_BFT_NUM)
+Number(CHILD_BFT_NUM)
+Number(NO_BFT_NUM);
if(COST4 > 0){
jQ("input[name='COST4']").val(parseFloat(COST4).toFixed(2));
}
}
if(numbers == 51 || numbers == 52 ||numbers == 53 ||numbers == 54){

COST5 += Number(ADLT_MBR_REG_NUM_MEALS)
+Number(ADLT_MBR_REG_NUM)
+Number(COL_MBR_REG_MEALS_NUM)
+Number(COL_MBR_REG_NUM)
+Number(JOI_MBR_REG_MEALS_NUM)
+Number(JOI_MBR_REG_NUM)
+Number(NOT_REG_NUM)

+Number(ADLT_LCH_NUM)
+Number(COL_MBR_LCH_NUM)
+Number(JOI_MBR_LCH_NUM)
+Number(CHILD_LCH_NUM)
+Number(NO_LCH_NUM)

+Number(ADLT_DIN_NUM)
+Number(COL_MBR_DIN_NUM)
+Number(JOI_MBR_DIN_NUM)
+Number(CHLD_DIN_NUM)
+Number(NO_DIN_NUM)

+Number(ADLT_BFT_NUM)
+Number(COL_MBR_BFT_NUM)
+Number(JOI_MBR_BFT_NUM)
+Number(CHILD_BFT_NUM)
+Number(NO_BFT_NUM);
if(COST5 > 0){
jQ("input[name='COST5']").val(parseFloat(COST5).toFixed(2));
}
}


});
calctotal();



function calctotal(){
var total = 0;
jQ("input[name^='COST']").each(function(){
var value = jQ(this).val();
if(value >0 && jQ.isNumeric(value)){
total+=parseFloat(jQ(this).val(),10);
}
});
jQ("input[name=TOTAL]").val(total.toFixed(2))
}

});


});
</script>
I can't hear what I'm looking at.
It's easy to overlook something you're not looking for.

Here's my S-Drive site with
examples of what can be accomplished in VSD.
http://progrower.coffeecup.com/
Here's my CoffeeCup SCCP Shop with examples of what can be done.
http://progrower.coffeecup.com/shop/
This is a site I built for my work.(RSD)
http://esmansgreenhouse.com
This is a site I built for use in my job.(HTML Editor)
https://pestlogbook.com
This is my personnel site used for testing and as an easy way to share photos.(RLM imported to RSD)
http://ericrohloff.com


Registered User
67 posts

Thanks Eric,

Have fixed the variables and added your script.

It works localy but not on server (web). http://optimistsc.org/Meetings/Register/Register.html

What have I done wrong?
>don<


Senior Advisor
17,824 posts
Online Now

You have two lines of this at the top of the script.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

Remove one.
I can't hear what I'm looking at.
It's easy to overlook something you're not looking for.

Here's my S-Drive site with
examples of what can be accomplished in VSD.
http://progrower.coffeecup.com/
Here's my CoffeeCup SCCP Shop with examples of what can be done.
http://progrower.coffeecup.com/shop/
This is a site I built for my work.(RSD)
http://esmansgreenhouse.com
This is a site I built for use in my job.(HTML Editor)
https://pestlogbook.com
This is my personnel site used for testing and as an easy way to share photos.(RLM imported to RSD)
http://ericrohloff.com


Registered User
67 posts

Thanks Eric,

Have it displaying as I want and running correctly except Payments (PayPal) which I'm sure has nothing to do with your script. It worked correctly at on time so, I've obviously changed a setting I should not have. I'll find it. :)

I really appreciate your work and patience!
>don<


Registered User
67 posts

Hi Eric,

I'm baaaaaaaaaack. :)

I'm now ready to go live so, need to correct the cost amounts.

For example have changed the "80" in this code
//*** set the cost if before expired date for first FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Mbr Reg + 3 Meals"){
eval('var ADLT_Mbr_Reg_Meals' + numbers + '=80');}else {eval('var ADLT_Mbr_Reg_Meals' + numbers + '=0');}

to "88" in corrected code
//*** set the cost if before expired date for first FUNC ***//
if(jQ(this).is(':checked') && jQ(this).val() == "ADLT Mbr Reg + 3 Meals"){
eval('var ADLT_Mbr_Reg_Meals' + numbers + '=88');}else {eval('var ADLT_Mbr_Reg_Meals' + numbers + '=0');}

Value of COST items don't change when checked.

What other changes do I need in the code to make it work?

Thanks,


>don<


Senior Advisor
17,824 posts
Online Now

On this line you changed it from 10 to 15 and left out a single quote at the 15
if(jQ(this).is(':checked') && jQ(this).val() == "Child Din"){
eval('var Child_Din' + numbers + '=15);}else { eval('var Child_Din' + numbers + '=0');}

Should be
if(jQ(this).is(':checked') && jQ(this).val() == "Child Din"){
eval('var Child_Din' + numbers + '=15');}else { eval('var Child_Din' + numbers + '=0');}
I can't hear what I'm looking at.
It's easy to overlook something you're not looking for.

Here's my S-Drive site with
examples of what can be accomplished in VSD.
http://progrower.coffeecup.com/
Here's my CoffeeCup SCCP Shop with examples of what can be done.
http://progrower.coffeecup.com/shop/
This is a site I built for my work.(RSD)
http://esmansgreenhouse.com
This is a site I built for use in my job.(HTML Editor)
https://pestlogbook.com
This is my personnel site used for testing and as an easy way to share photos.(RLM imported to RSD)
http://ericrohloff.com


Registered User
67 posts

Thanks, Eric.

Fixed that one and found same mistake in another place. Fixed it and now it works.

Will try to be more careful.
>don<


Senior Advisor
17,824 posts
Online Now

Great! Glad I could help out.
I can't hear what I'm looking at.
It's easy to overlook something you're not looking for.

Here's my S-Drive site with
examples of what can be accomplished in VSD.
http://progrower.coffeecup.com/
Here's my CoffeeCup SCCP Shop with examples of what can be done.
http://progrower.coffeecup.com/shop/
This is a site I built for my work.(RSD)
http://esmansgreenhouse.com
This is a site I built for use in my job.(HTML Editor)
https://pestlogbook.com
This is my personnel site used for testing and as an easy way to share photos.(RLM imported to RSD)
http://ericrohloff.com


Registered User
67 posts

Hi Eric,

Now have what i hope are final requirements from powers-that-be. Thought I had it before.

My updated from is at same place as before (http://optimistsc.org/Meetings/Register/Register.html).

Please give me updates (fixes) for the jQ code.

>don<


Senior Advisor
17,824 posts
Online Now

You'll need to explain what you need.
I can't hear what I'm looking at.
It's easy to overlook something you're not looking for.

Here's my S-Drive site with
examples of what can be accomplished in VSD.
http://progrower.coffeecup.com/
Here's my CoffeeCup SCCP Shop with examples of what can be done.
http://progrower.coffeecup.com/shop/
This is a site I built for my work.(RSD)
http://esmansgreenhouse.com
This is a site I built for use in my job.(HTML Editor)
https://pestlogbook.com
This is my personnel site used for testing and as an easy way to share photos.(RLM imported to RSD)
http://ericrohloff.com

Have something to add? We’d love to hear it!
You must have an account to participate. Please Sign In Here, then join the conversation.