Ajax e Javascript
29/09/2010 00:00
onchange="test()"
function test(){
var mysql = try_mysql();
if(mysql==1){
alert("Conexao efetuada");
} else alert("mysql");
}
function consulta(){
var valor = document.getElementById("teste").value
var sql = $("select pessoa.contribuinte from pessoa where pessoa.id = valor").value;
query = mysql_query(sql);
alert(query);
}
<script src="${resource(dir:'js',file:'query.js')}" type="text/javascript"></script>
function $(id) {
return document.getElementById(id);
}
function $tag(t){
return document.getElementsByTagName(t);
}
function addEvent(obj, evType, fn){
if (obj.addEventListener)
obj.addEventListener(evType, fn, true)
if (obj.attachEvent)
obj.attachEvent("on"+evType, fn)
}
// -----------------------------------------------------------------------------------
// AJAX
fsAjax = {
xmlHttp:null,
init : function(url){
this.xmlHttp=this.getXmlHttpObject();
if (this.xmlHttp==null){
fsAjax.error("Your browser does not support AJAX!");
return;
}
this.xmlHttp.open("GET",url,false); // we have to block scripts execution to work
this.xmlHttp.send(null);
return this.xmlHttp.responseText;
},
error : function(errDescription){
return errDescription;
},
getXmlHttpObject : function(){
this.xmlHttp=null;
try { this.xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8+, Safari
} catch (e){
// Internet Explorer
try{ this.xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
this.xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return this.xmlHttp;
}
}
/* END AJAX */
// Elements
function createElem(){
var objBody=document.getElementsByTagName("body").item(0);
var objReturn = document.createElement("div");
objReturn.setAttribute("id","FS_returnDiv");
//objReturn.style.display="none";
objBody.appendChild(objReturn);
}
// Global variables
var phpPage = "http://localhost:8080/fsql.php";
//=================
function try_mysql(){
return fsAjax.init(phpPage+"?o=try");
}
function mysql_query(sql){
var catcher = fsAjax.init(phpPage+"?o=query&i="+sql);
catcher = catcher.split(",");
var total = catcher.length-2;
if(catcher[0]=="select"){
var response = "Encontrados: "+total+" resultados\n";
for(i=1;i<=total;i++){
response+=(i)+" - "+catcher[i]+"\n";
}
} else response=catcher[0]+" não suportado";
return response;
}
addEvent(window,"load",createElem);
<?php
header("Content-Type: text/html; charset=ISO-8859-1",true);
$gmtDate = gmdate("D, d M Y H:i:s");
header("Expires: {$gmtDate} GMT");
header("Last-Modified: {$gmtDate} GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
// configuration
// you have to change the values below
define('DB_NAME', 'livedb3'); // database name
define('DB_ADDRESS', 'mysql://localhost/'); // database host address
define('DB_USER', 'root'); // database username
define('DB_PASS', '98989898'); // database password
// end of editable area
// ===================================
// ===================================
// DB =======================
class conection{
var $link = "";
function makeConection(){
$this->link = mysql_connect(DB_ADDRESS, DB_USER, DB_PASS);;
if (!$this->link){
die("Error: Impossible to connect with database");
}elseif (!mysql_select_db(DB_NAME,$this->link)){
die("Error: Impossible to select the schema");
}
return 1;
}
function makeQuery($s_query){
if ($result = mysql_query($s_query,$this->link)){
return $result;
} else {
return mysql_error();
}
}
}
$obj_conection = new conection();
switch($_GET[o]){
case "try":
$try2Connect = $obj_conection->makeConection();
if($try2Connect) echo true;
else echo mysql_error();
break;
case "query":
$connect = $obj_conection->makeConection();
if($connect==1){
$sql = str_replace("\","",($_GET[i]));
$foundType = explode(" ",$sql);
$foundType[0]=strtoupper($foundType[0]);
if($foundType[0]=="SELECT"){
$makeQuery = $obj_conection->makeQuery($sql);
if(mysql_num_rows($makeQuery)>0){
$string="select,";
while($row = mysql_fetch_assoc($makeQuery)){
$string.=$row[Nome].",";
}
}
echo $string;
} else echo $foundType[0].",";
} else echo mysql_error();
break;
}
?>
function mudaEstadoSelect() {
var novo_id = document.getElementByid("id_do_meu_select").value
// Faço todo o processamento necessário daqui pra baixo
}
<g:select bla bla bla onchange="mudaEstadoSelect()"/>
$("#id_do_meu_div").load("sua_url_de_destino")
<g:select id ="teste" optionKey="id" from="${ipss.Pessoa.findAllWhere(tipo:'Sócio')}" name="pessoa.id" value="${socioInstance?.pessoa?.id}" noSelection="${['null':'']}", onchange="${remoteFunction(action:'search',update:'message1', params:'\'id=\' + escape(this.value)')}" ></g:select>
def search = {
def ide = params.id
def res = Pessoa.findByContribuinte("from Pessoa p where p.id = ${ide}")
render res
}
Error 500: Executing action [search] of controller [ipss.SocioController] caused exception: groovy.lang.MissingMethodException: No signature of method: ipss.SocioController.render() is applicable for argument types: (null) values: [null] Possible solutions: render(org.codehaus.groovy.grails.web.converters.Converter), render(java.lang.Object), render(java.lang.String), render(groovy.lang.Closure), render(java.util.Map), render(java.util.Map, groovy.lang.Closure)
Servlet: grails
URI: /ipss/grails/socio/search.dispatch
Exception Message: No signature of method: ipss.SocioController.render() is applicable for argument types: (null) values: [null] Possible solutions: render(org.codehaus.groovy.grails.web.converters.Converter), render(java.lang.Object), render(java.lang.String), render(groovy.lang.Closure), render(java.util.Map), render(java.util.Map, groovy.lang.Closure)
Caused by: No signature of method: ipss.SocioController.render() is applicable for argument types: (null) values: [null] Possible solutions: render(org.codehaus.groovy.grails.web.converters.Converter), render(java.lang.Object), render(java.lang.String), render(groovy.lang.Closure), render(java.util.Map), render(java.util.Map, groovy.lang.Closure)
Class: SocioController
At Line: [26]
Para se registrar, clique aqui.