Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite amigos!
Estou tentando chamar uma função javascript através de um link, o engraçado é que sem os parâmetros a função executa um alert, mas ao passar os mesmos nem um sinal de vida, o objetivo é clicar no link e recuperar os dados em seus devidos campos para que se possa excluir ou alterar. Através do método GET consegui belezinha, porém estavam ficando dados na url os quais não estava conseguindo apagar. Segue código:
cad_usu.php
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
?>
<html>
<head>
<?php include_once "cabecalho.php";
?>
<title></title>
</head>
<body>
<?php include_once "navegacao.php" ?>
<style type="text/css">
* {
margin: 0px;
}
.id {
float: left;
margin-right: 20px;
}
.nome {
margin-top: 15px;
</style>
<div>
<?php
if(!isset($_POST['id'])){
$_POST['id'] ='';
}
if(!isset($_POST['nome'])){
$_POST['nome'] ='';
}
if(!isset($_POST['login'])){
$_POST['login'] ='';
}
?>
<form method="post">
<input type="text" name="codigo" value="<?php echo $_POST['id']; ?>" id="txtcodigo">
<label>Nome: </label> <input type="text" name="nome" value="<?php echo $_POST['nome']; ?>" id="txtnome"> <br>
<label>Login: </label> <input type="text" name="login" value="<?php echo $_POST['login']; ?>" id="txtlogin"> <br>
</form>
<button id="salvar" name="btnsalvar" value="1" onclick="acao(this.value)">Salvar</button>
<button id="excluir" name="btnexcluir" value="3" onclick="acao(this.value)">Excluir</button>
<button id="listar" name="btnlistar" value="5" onclick="acao(this.value)">Listar</button>
<button id="alterar" name="btnalterar" value="2" onclick="acao(this.value)">Alterar</button>
<button id="selecionar" name="btnselecionar" onclick="selecionar()">Selecionar</button>
</div>
<div>
<div id="id" class="id">Id</div>
<div id="nome" class="nome">Nome</div>
<div id="status"></div>
</div>
<script type="text/javascript">
function selecionar(id,nome,login) {
alert("clicou");
document.getElementById("txtcodigo").value = id;
document.getElementById("txtnome").value = nome;
document.getElementById("txtlogin").value = login;
}
</script>
<script type="text/javascript">
function limpar(){
document.getElementById("txtcodigo").value="";
document.getElementById("txtnome").value="";
document.getElementById("txtlogin").value="";
}
function acao(ac) {
if (ac == "") {
document.getElementById("status").innerHTML = "";
return;
} else {
class.usuarios.php
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
include_once "cabecalho.php";
class Usuario {
private $sql;
function __construct(){
include_once "conexao.php";
DataBase::getInstance();
}
function inserirUsuario($nome,$login){
$this->sql="INSERT INTO tbusuarios (nome,login) VALUES ('".$nome."','".$login."')";
$resultado = DataBase::retornarResultado($this->sql)["resultado"];
if($resultado){
$this->listarUsuarios();
return true;
}else{
return false;
}
}
function alterarUsuario($id, $nome, $login){
$this->sql="UPDATE tbusuarios SET nome='".$nome."',login='".$login."' WHERE id=".$id;
$resultado = DataBase::retornarResultado($this->sql)["resultado"];
if($resultado){
$this->listarUsuarios();
return true;
}else{
return false;
}
}
function excluirUsuario($id){
$this->sql="DELETE FROM tbusuarios WHERE id=".$id;
$resultado = DataBase::retornarResultado($this->sql)["resultado"];
if($resultado){
$this->listarUsuarios();
return true;
}else{
return false;
}
}
function listarUsuarios(){
$this->sql="SELECT id,nome,login FROM tbusuarios";
$resultado = DataBase::retornarResultado($this->sql)["resultado"];
if($resultado) {
while($row = $resultado -> fetch_row()){
echo "
<div>
<div id='ids' class='id'>".$row[0]."</div>
<div id='nomes' class='nome'>".$row[1]."</div>
<div id='logins' class='login'>".$row[2]."</div>
<div><a href='javascript: selecionar($row[0],$row[1],$row[2])') > Selecionar </a> </div>
</div>
"
;
}
}
$resultado->close();
}
}
?>
action.usuarios.php
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);
include_once "class.usuarios.php";
$usuario = new Usuario();
switch(intval($_POST['acao'])) {
case 1:
//$usuario->inserirUsuario($_GET['nome'],$_GET['login']);
$usuario->inserirUsuario($_POST['nome'],$_POST['login']);
break;
case 2:
//$usuario->alterarUsuario($_GET['codigo'],$_GET['nome'],$_GET['login']);
$usuario->alterarUsuario($_POST['codigo'],$_POST['nome'],$_POST['login']);
break;
case 3:
//$usuario->excluirUsuario($_GET['codigo']);
$usuario->excluirUsuario($_POST['codigo']);
break;
default:
$usuario->listarUsuarios();
break;
}
//unset($_GET['id'],$_GET['nome'],$_GET['login']);
/*
function zerar(){
$_GET['id']='0';
$_GET['nome']='';
$_GET['login']='';
unset($_GET['id']);
unset($_GET['nome']);
unset($_GET['login']);
}*/
?>
Quando posiciono o mouse sobre o link de cada registro aparece assim por exemplo : javascript: selecionar(2,joão,jjj) mostrando que cada registro está recebendo os parâmetros de acordo, mas quando clico no link nada acontece, sem parâmetros executa, mas preciso dos parâmetros.
Desde já grato aos que dedicarem algum tempo me esclarecendo onde estou errando.
Carregando comentários...