diff --git a/htdocs/core/class/html.formcompany.class.php b/htdocs/core/class/html.formcompany.class.php index 4152881402670de1ac59ce682d83d69447f750d2..bfdec57b0d1a21bf4039db07a7bb9f318ec4fa4c 100644 --- a/htdocs/core/class/html.formcompany.class.php +++ b/htdocs/core/class/html.formcompany.class.php @@ -612,8 +612,8 @@ class FormCompany */ function select_zipcode($selected='',$field1='zipcode',$field2='town',$field3='fk_pays') { - print ajax_autocompleter_ziptown($field1,$field2,$field3,DOL_URL_ROOT.'/societe/ajaxziptown.php')."\n"; - print '<input id="'.$field1.'" type="text" name="'.$field1.'" size="6" value="'.$selected.'">'."\n"; + print ajax_autocompleter_ziptown($selected='',$field1,$field2,$field3,DOL_URL_ROOT.'/societe/ajaxziptown.php')."\n"; + print '<input id="search_'.$field1.'" type="text" name="search_'.$field1.'" size="6" value="'.$selected.'">'."\n"; } /** @@ -621,8 +621,8 @@ class FormCompany */ function select_town($selected='',$field1='town',$field2='zipcode',$field3='fk_pays') { - print ajax_autocompleter_ziptown($field1,$field2,$field3,DOL_URL_ROOT.'/societe/ajaxziptown.php')."\n"; - print '<input id="'.$field1.'" type="text" name="'.$field1.'" value="'.$selected.'">'."\n"; + print ajax_autocompleter_ziptown($selected='',$field1,$field2,$field3,DOL_URL_ROOT.'/societe/ajaxziptown.php')."\n"; + print '<input id="search_'.$field1.'" type="text" name="search_'.$field1.'" value="'.$selected.'">'."\n"; } } diff --git a/htdocs/lib/ajax.lib.php b/htdocs/lib/ajax.lib.php index 331cd90b89787ce3e143d3fa36525b95837c7eef..1dfac97e4a2a6d46a79f6e389e72482ec03e8351 100644 --- a/htdocs/lib/ajax.lib.php +++ b/htdocs/lib/ajax.lib.php @@ -134,13 +134,15 @@ function ajax_autocompleter($selected='',$htmlname,$url,$option='') * \param url chemin du fichier de reponse : /chemin/fichier.php * \return string script complet */ -function ajax_autocompleter_ziptown($field1,$field2,$field3,$url,$option='') +function ajax_autocompleter_ziptown($selected='',$field1,$field2,$field3,$url,$option='') { $script=''; + + $script.= '<input type="hidden" name="'.$field1.'" id="'.$field1.'" value="'.$selected.'" />'; $script.= '<script type="text/javascript">'; $script.= 'jQuery(document).ready(function() { - jQuery("input#'.$field1.'").blur(function() { + jQuery("input#search_'.$field1.'").blur(function() { //console.log(this.value.length); if (this.value.length == 0) { @@ -148,15 +150,16 @@ function ajax_autocompleter_ziptown($field1,$field2,$field3,$url,$option='') jQuery("#'.$field2.'").val(""); } }); - jQuery("input#'.$field1.'").autocomplete({ + jQuery("input#search_'.$field1.'").autocomplete({ source: function( request, response ) { jQuery.get("'.$url.($option?'?'.$option:'').'", { '.$field1.': request.term }, function(data){ response( jQuery.map( data, function( item ) { if (data.length == 1) { jQuery("#'.$field1.'").val(item.value); jQuery("#'.$field2.'").val(item.field2); + jQuery("#search_'.$field2.'").val(item.field2); if (item.field3 > 0) { - jQuery("#'.$field3.'").val(ui.item.field3); + jQuery("#'.$field3.'").val(item.field3); } } return { @@ -172,6 +175,7 @@ function ajax_autocompleter_ziptown($field1,$field2,$field3,$url,$option='') minLength: 2, select: function( event, ui ) { jQuery("#'.$field2.'").val(ui.item.field2); + jQuery("#search_'.$field2.'").val(ui.item.field2); if (ui.item.field3 > 0) { jQuery("#'.$field3.'").val(ui.item.field3); }