Salve a tutti, ho un problema con jquery che non conosco ancora bene purtroppo.
Devo utilizzare un form con 2 campi: uno per fare la ricerca in un database di prodotti con il plugin ui autocomplete e un secondo campo di tipo textarea per visualizzare l'esito della ricerca.
Nel primo caso ho risolto subito, difatti non ho avuto difficoltà ad implementare il plugin uiautocomplete, nel secono caso ho delle difficoltà: voglio fare in modo tale che inserendo il codice del prodotto (il Serial Number), nel campo testo, automaticamente tramite l'evento onchange su quest ultimo, venga caricata una funzione, la quale richiama un file in php che esegua una query in grado di restituire il genere (ad es. cellulare), la marca ed il modello relativi al codice prodotto che è stato inserito.
--------------------------------------------
FILE html che visualizza il form:
<html>
<head>
<title>index</title>
<head>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/jquery-latest.min.js""></script>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/jquery-1.9.1.min.js""></script>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/jquery-ui.min.js""></script>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/valore_prodotto.js""></script>
</head>
<body>
<form action=index.php method=post>
<label for="codice_prodotto">Ricerca Codice
<input type="text" id="codice_prodotto" name="codice_prodotto" class="ui-autocomplete-input"
onchange="valore(this);" />
</label>
<label for="prodotto">Prodotto
<textarea id="prodotto" name="prodotto"></textarea>
</label>
<input type=submit name=invio vlaue=invio />
</form>
</body>
</html>
-------------------------------------------
file javascript (valore_prodotto.js) :
$(function valore(el) {
var codice_prodotto= $('#codice_prodotto');
$('#prodotto').val(
{
source:
function(request, response) {
$.ajax({
url:"http://localhost/cashfund_locale/pages/acquisti/valore_prodotto.php",
method: 'get',
data: { codice_prodotto: codice_prodotto.val()},
success: function( data ) {
response( $.map( data, function( item ) {
return item.label;
}));
}
});
},
}
,"json")
});
------------------------------------------
file in php che esegue la query:
hp
$con=mysql_connect("localhost","root","");
mysql_select_db("cashfund");
mysql_query("SET NAMES utf8");
if(isset($_GET['codice_prodotto']))
{
$codice_prodotto = trim(strip_tags($_GET['codice_prodotto']));
$a_json = array();
$a_json_row = array();
$query="SELECT CONCAT(Genere,'-',Marca,'-',Modello) FROM prodotto INNER JOIN genere ON prodotto.IdGenere=genere.IdGenere INNER JOIN marca
ON prodotto.IdMarca=marca.IdMarca WHERE ( (IMEI='".$codice_prodotto."') OR (SerialNumber='".$codice_prodotto."') )";
$q=mysql_query($query);
echo mysql_error();
while($row = mysql_fetch_array($q,MYSQL_NUM))
{
$name = htmlentities(stripslashes($row[0]));
$a_json_row['value'] = $name;
$a_json_row['label'] = $name;
array_push($a_json, $a_json_row);
};
header('Content-Type: application/json');
echo json_encode($a_json);
flush();
};
?>
-------------------------------
Quello che non funziona è la visualizzazione della query nel campo textarea.
Nella consolle degli errori in Chrome non viene notificato niente, tuttavia nel campo textarea che dovrebbe visualizzare la query appare la scritta: [object Object]
Da cosa potrebbe dipendere l'errore?
Grazie in anticipo
Devo utilizzare un form con 2 campi: uno per fare la ricerca in un database di prodotti con il plugin ui autocomplete e un secondo campo di tipo textarea per visualizzare l'esito della ricerca.
Nel primo caso ho risolto subito, difatti non ho avuto difficoltà ad implementare il plugin uiautocomplete, nel secono caso ho delle difficoltà: voglio fare in modo tale che inserendo il codice del prodotto (il Serial Number), nel campo testo, automaticamente tramite l'evento onchange su quest ultimo, venga caricata una funzione, la quale richiama un file in php che esegua una query in grado di restituire il genere (ad es. cellulare), la marca ed il modello relativi al codice prodotto che è stato inserito.
--------------------------------------------
FILE html che visualizza il form:
<html>
<head>
<title>index</title>
<head>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/jquery-latest.min.js""></script>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/jquery-1.9.1.min.js""></script>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/jquery-ui.min.js""></script>
<script type="text/javascript" language="javascript" src="http://localhost/cashfund_locale/script/valore_prodotto.js""></script>
</head>
<body>
<form action=index.php method=post>
<label for="codice_prodotto">Ricerca Codice
<input type="text" id="codice_prodotto" name="codice_prodotto" class="ui-autocomplete-input"
onchange="valore(this);" />
</label>
<label for="prodotto">Prodotto
<textarea id="prodotto" name="prodotto"></textarea>
</label>
<input type=submit name=invio vlaue=invio />
</form>
</body>
</html>
-------------------------------------------
file javascript (valore_prodotto.js) :
$(function valore(el) {
var codice_prodotto= $('#codice_prodotto');
$('#prodotto').val(
{
source:
function(request, response) {
$.ajax({
url:"http://localhost/cashfund_locale/pages/acquisti/valore_prodotto.php",
method: 'get',
data: { codice_prodotto: codice_prodotto.val()},
success: function( data ) {
response( $.map( data, function( item ) {
return item.label;
}));
}
});
},
}
,"json")
});
------------------------------------------
file in php che esegue la query:
hp
$con=mysql_connect("localhost","root","");
mysql_select_db("cashfund");
mysql_query("SET NAMES utf8");
if(isset($_GET['codice_prodotto']))
{
$codice_prodotto = trim(strip_tags($_GET['codice_prodotto']));
$a_json = array();
$a_json_row = array();
$query="SELECT CONCAT(Genere,'-',Marca,'-',Modello) FROM prodotto INNER JOIN genere ON prodotto.IdGenere=genere.IdGenere INNER JOIN marca
ON prodotto.IdMarca=marca.IdMarca WHERE ( (IMEI='".$codice_prodotto."') OR (SerialNumber='".$codice_prodotto."') )";
$q=mysql_query($query);
echo mysql_error();
while($row = mysql_fetch_array($q,MYSQL_NUM))
{
$name = htmlentities(stripslashes($row[0]));
$a_json_row['value'] = $name;
$a_json_row['label'] = $name;
array_push($a_json, $a_json_row);
};
header('Content-Type: application/json');
echo json_encode($a_json);
flush();
};
?>
-------------------------------
Quello che non funziona è la visualizzazione della query nel campo textarea.
Nella consolle degli errori in Chrome non viene notificato niente, tuttavia nel campo textarea che dovrebbe visualizzare la query appare la scritta: [object Object]
Da cosa potrebbe dipendere l'errore?
Grazie in anticipo