Hi All,
I have two tables, 'customer' and 'job'.
In 'job' there is two different addresses. One is the postal address, this is auto filled from the customer table. The second is the job address. These can both addresses be the same or sometimes different.
The user would input the job address or I could have an autofill as for the postal address, but how can I have both.
in other words have autofill without read only text fields so the user can overwrite the autofill information
Thank you in advance
Barry
same address
- baudwalker
- Veteran Member
- Posts: 188
- Joined: 2015-02-03 08:08
- Location: Bellingen NSW Australia
Re: same address
Hello baudwalker,
i think you should make a text field so the user will have the right to fill it , and inject a button beside call it copy postal address
the copy postal address will simply copy the auto filled value of postal value and paste it in the text field
i hope that this idea would help you
Regards,
Reham
i think you should make a text field so the user will have the right to fill it , and inject a button beside call it copy postal address
the copy postal address will simply copy the auto filled value of postal value and paste it in the text field
i hope that this idea would help you
Regards,
Reham
- baudwalker
- Veteran Member
- Posts: 188
- Joined: 2015-02-03 08:08
- Location: Bellingen NSW Australia
Re: same address
Hi Reham,
I see what you mean but it is not want I really require.
I have the postal address of the customer in the 'customer table'. Sometimes the job address is the same as the postal address so I would have the postal address loaded as the job address in the 'job table'. Other times the job address is different to the postal address so the user can enter the correct job address.
As it is now when I use autofill the resulting textbox is read only.
I have gone over Section10 Lecture 26 of the Appgini tutorials on udemy.com and just can't get it to work with multiple textboxes (address, town, postcode) triggered by a checkbox
Barry
I see what you mean but it is not want I really require.
I have the postal address of the customer in the 'customer table'. Sometimes the job address is the same as the postal address so I would have the postal address loaded as the job address in the 'job table'. Other times the job address is different to the postal address so the user can enter the correct job address.
As it is now when I use autofill the resulting textbox is read only.
I have gone over Section10 Lecture 26 of the Appgini tutorials on udemy.com and just can't get it to work with multiple textboxes (address, town, postcode) triggered by a checkbox
Barry
Re: same address
Hi,
I would suggest that you put you addresses in a separate table and reference in your customer table, postal address one address and in your job table, job address either the same entry in the address table, or a different entry if they do not match.
regards
Pascal
I would suggest that you put you addresses in a separate table and reference in your customer table, postal address one address and in your job table, job address either the same entry in the address table, or a different entry if they do not match.
regards
Pascal
Any help offered comes with the best of intentions. Use it at your own risk. In any case, please make a backup of your existing environment before applying any changes.
- baudwalker
- Veteran Member
- Posts: 188
- Joined: 2015-02-03 08:08
- Location: Bellingen NSW Australia
Re: same address
Thank you Pascal,
I don't think that would work in my instance.
What is done now is that the user starts with the customer table. Either by selecting the customer or creating a new one. Then the job table icon is selected from the right hand menu. This preloads the customer's name and address into the job table. These customer details are also used for invoicing. In most cases the job address is the same as the customer's address. I could just load the customer details into the job address. But for those jobs that are at a different location from the customer's address I need to be able to input the new address.
I believe the best way, in this instance, would be to start with blank text boxes for the address and have a check box to load the address from the customer table if required.
As I mentioned above I see that Section10 Lecture 26 of the Appgini tutorials on udemy.com and just can't get it to work with multiple textboxes and it is the opposite to above.
I found, somewhere in this forum, a Jquery function to hide certain textboxes when the checkbox is checked. All I require is to input my information into the textbox instead of hiding them.
I hope I have not muddied the waters
Barry
I don't think that would work in my instance.
What is done now is that the user starts with the customer table. Either by selecting the customer or creating a new one. Then the job table icon is selected from the right hand menu. This preloads the customer's name and address into the job table. These customer details are also used for invoicing. In most cases the job address is the same as the customer's address. I could just load the customer details into the job address. But for those jobs that are at a different location from the customer's address I need to be able to input the new address.
I believe the best way, in this instance, would be to start with blank text boxes for the address and have a check box to load the address from the customer table if required.
As I mentioned above I see that Section10 Lecture 26 of the Appgini tutorials on udemy.com and just can't get it to work with multiple textboxes and it is the opposite to above.
I found, somewhere in this forum, a Jquery function to hide certain textboxes when the checkbox is checked. All I require is to input my information into the textbox instead of hiding them.
I hope I have not muddied the waters
Barry
- baudwalker
- Veteran Member
- Posts: 188
- Joined: 2015-02-03 08:08
- Location: Bellingen NSW Australia
Re: same address
I have the basis working with the following code. this will insert the words 'address' and 'town' in the appropriate textboxes
One of the fields I now wish to copy is an autofill lookup field. The AppGini code for that field follows...
This field does not have a 'value' therefore the following code will not work
In the database the feild is and the 'customer' table and the column is 'cust_address'
Barry
Code: Select all
jQuery(function(){
jQuery('#same_add').click(function(){
if(jQuery(this).prop('checked')){
jQuery('#job_address').val('address');
jQuery('#job_town').val('town');
}else{
jQuery('#job_address').val('');
jQuery('#job_town').val('');
}
});
});
Code: Select all
<div class="form-control-static" id="address">15 My Home Address </div>
Code: Select all
jQuery('#address').val();
Barry
Re: same address
Hi Barry,
sorry, but I'm a little bit confused on which data you will hold in which table.
As far as I understand, you have a customer table that has a column 'cust_address'. What about the 'town' and 'address' fields in the job table?
Or are you using in the customer table 'cust_address' and 'cust_town' which may or may not be reflected in the job table in fields like 'job_address' and 'job_town' depending if they should be the same or not.
Also do you have a checkbox through appGini to identify if the job will use the same address (it looks like in your code above, but do you need it).
I could suggest you that you can handle this via the hooks/<tablename>-dv.js file (I assumed that there is one address field)
and the 'hooks/ajax-get_cust_addr.php' file to retrieve the address of the selected customer.
You would need to adjust the different tags to match your project and the SQL to match your DB. Also, if you have multiple entries for the address like town, address etc, you would need to adjust the ajax and the SQL to reflect your needs.
If you go with your solution you need to wait till the ajax to fill the auto-fill is completed.
You can try
$j('#address' ).text();
instead of the val.
like jQuery('#job_address').val( jQuery('#address').text());
regards
Pascal
sorry, but I'm a little bit confused on which data you will hold in which table.
As far as I understand, you have a customer table that has a column 'cust_address'. What about the 'town' and 'address' fields in the job table?
Or are you using in the customer table 'cust_address' and 'cust_town' which may or may not be reflected in the job table in fields like 'job_address' and 'job_town' depending if they should be the same or not.
Also do you have a checkbox through appGini to identify if the job will use the same address (it looks like in your code above, but do you need it).
I could suggest you that you can handle this via the hooks/<tablename>-dv.js file (I assumed that there is one address field)
Code: Select all
$j(function () {
var clear_address = function () {
if (this.checked) {
$j('#job_address' ).val("");
}
else {
check_address();
}
}
var check_address = function (v_customer="") {
if (v_customer == "") v_customer=$j('#customer' ).val();
if (v_customer != "") {
$j.ajax({
async: false,
url: 'hooks/ajax-get_cust_addr.php?cust=' + (v_customer),
type: 'get',
cache: false,
success: function (data) {
$j('#job_address' ).val(data.toString().trim());
},
});
if ( $j("#myCheckbox").length ==0 ) {
$j("#job_address").after('<input type="checkbox" id="myCheckbox" name="myCheckbox" > Use different address</input> ');
$j("#myCheckbox").on('change', clear_address);
}
else $j("#myCheckbox").prop('checked', false);
}
}
// need to wait till the ajax request completed
$j( document ).ajaxComplete(function( event, xhr, settings ) {
if ( settings.url.substring(0, 14) === "ajax_combo.php" ) {
var v_left = settings.url.indexOf("=")+1;
var v_right = settings.url.indexOf("&");
var v_id = settings.url.substring(v_left,v_right);
if (v_id != "") {
check_address(v_id);
$j(event.currentTarget).unbind('ajaxComplete');
}
}
});
var v_cust=$j('#customer').val();
if (v_cust != "") {
check_address();
}
$j("#job_address").on('change', clear_address);
$j('#customer' ).on('change', check_address);
});
Code: Select all
<?php
$currDir = dirname(__FILE__);
include("../language.php");
include("../lib.php");
// restrict_access if needed
$customer = $_REQUEST['cust'];
$address = sqlvalue("SELECT `customer`.`cust_address` FROM `customer` WHERE `ID`=".$customer);
echo $address;
If you go with your solution you need to wait till the ajax to fill the auto-fill is completed.
You can try
$j('#address' ).text();
instead of the val.
like jQuery('#job_address').val( jQuery('#address').text());
regards
Pascal
Any help offered comes with the best of intentions. Use it at your own risk. In any case, please make a backup of your existing environment before applying any changes.
- baudwalker
- Veteran Member
- Posts: 188
- Joined: 2015-02-03 08:08
- Location: Bellingen NSW Australia
Re: same address
In the customer table the required columns are cust_address and cust_town. that will populate job_address and job_town.
I only mentioned cust_address so I did not complicate thing too mush and confused anyone. looks as if that didn't work, sorry.
thank you for the above info as I believe I may be able to adapt it to suit my purpose (I think)
thank you Barry
I only mentioned cust_address so I did not complicate thing too mush and confused anyone. looks as if that didn't work, sorry.
thank you for the above info as I believe I may be able to adapt it to suit my purpose (I think)
thank you Barry
- baudwalker
- Veteran Member
- Posts: 188
- Joined: 2015-02-03 08:08
- Location: Bellingen NSW Australia
Re: same address
Thank you Pascal,
I used my method with your amendments
and it worked perfectly. I like KISS. one file and I can see how it works at a glance.
never too old to learn
once again thank you,
Barry
I used my method with your amendments
Code: Select all
jQuery('#job_address').val( jQuery('#address').text());
jQuery('#job_town).val( jQuery('#town).text());
never too old to learn
once again thank you,
Barry