Olá galera, estou com um problema semelhante a este... No meu caso, o menu funciona, mas o formulário não ou pelo menos está abrindo em uma nova página. funcoes.js // FUNÇÃO AJAX
function GetXMLHttp(){
var xmlHttp;
try{
xmlHttp = new XMLHttpRequest();
}
catch(ee){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlHttp = false;
}
}
}
return xmlHttp;
}
var xmlRequest = GetXMLHttp();
// FUNÇÃO QUE PEGA OS LINKs DE CADA PÁGINA
function Pag(url){
xmlRequest.onreadystatechange = mostraPag;
xmlRequest.open("GET",url,true);
xmlRequest.send(null);
if(xmlRequest.readyState == 1){
document.getElementById("conteudo").innerHTML = "<img src='../imagens/carregando.gif'>";
}
return url;
}
// FUNÇÃO QUE FAZ COM QUE ABRA AS PÁGINAS NA DIV 'CONTEÚDO'
function mostraPag(){
if(xmlRequest.readyState == 4){
document.getElementById("conteudo").innerHTML = xmlRequest.responseText;
}
}
// FUNÇÃO QUE DA UM 'LOOP' PARA PEGAR O NOME E VALOR DE TODOS OS <INPUTs> DOS FORMULÁRIOS
function form2Qs(form_ajax){
var form = document.getElementById(form_ajax);
var inputs = form.getElementsByTagName('input');
var dados = '';
for( var i=0; i<inputs.length; i++ ){
dados += inputs[i].name+'='+inputs[i].value+'&';
}
return dados;
}
// FUNÇÃO QUE DA UM 'LOOP' PARA PEGAR O NOME E VALOR DE TODOS OS <TEXTAREAs> DOS FORMULÁRIOS
function form3Qs(form_ajax){
var form = document.getElementById(form_ajax);
var textareas = form.getElementsByTagName('textarea');
var dados = '';
for( var i=0; i<textareas.length; i++ ){
dados += textareas[i].name+'='+textareas[i].value+'&';
}
return dados;
}
// FUNÇÃO QUE DA UM 'LOOP' PARA PEGAR O NOME E VALOR DE TODOS OS <SELECTs> DOS FORMULÁRIOS
function form4Qs(form_ajax){
var form = document.getElementById(form_ajax);
var selects = form.getElementsByTagName('select');
var dados = '';
for( var i=0; i<selects.length; i++ ){
dados += selects[i].name+'='+selects[i].value+'&';
}
return dados;
}
// FUNÇÃO QUE RECEBE TODOS OS NOMES E VALORES DE TODOS OS <INPUTs> E <TEXTAREAa> RECOLHIDOS DOS FORMULÁRIOS
function f_ajx(){
var url = id('form_ajax').action;
xmlRequest.open("POST", url, true);
xmlRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
var dados = '?'+form2Qs('form_ajax')+form3Qs('form_ajax')+form4Qs('form_ajax')+'&funcao='+document.getElementById('funcao').value;
xmlRequest.send(dados);
xmlRequest.onreadystatechange = function(){
id("conteudo").innerHTML = xmlRequest.responseText;
}
}
function id(el){
return document.getElementById(el);
}
noticias.php
<?php
$funcao = $_GET['funcao'];
/***********************************************************/
/******************* INSERIR NOTÍCIAS **********************/
if($funcao == "inserir"){
echo "
<form action=\"#\" id='form_ajax' method='post'>
<input name='funcao' type='hidden' value='cadastrar' />
<label>Título</label><br />
<input class='dados_resp' id='titulo' name='titulo' type='text' size='60' /><br /><br />
<label>Chamada</label><br />
<textarea class='dados_resp' onkeyup='blocTexto(this.value)' name='chamada' style='width:46%' rows='4'></textarea><br />
<div class='exemplo' style='width:386px; text-align:right;'>
Caracteres restantes: <span id='cont'>200</span>
</div><br />
<label>Reporter</label><br />
<input class='dados_resp' id='reporter' name='reporter' type='text' size='60' /><br /><br />
<textarea class='dados_resp' id='texto' name='texto' style='width:98%' rows='10'></textarea><br /><br />
<label>Status</label><br />
<select name='status' class='dados_resp'>
<option value=''></option>
<option value='sim'>Sim</option>
<option value='não'>Não</option>
</select><br />
<input class='formulario' onclick='f_ajx()' type='button' value='Cadastrar' />
</form>";
if($funcao == "cadastrar"){
$diretorio = '../xxxxx/xxxxx/noticias/';
$pesoMax = '5000000'; //Corresponde a 10Mb
$imagem = $_FILES['img'];
if($imagem['size'] > $pesoMax){
echo '<script type="text/javascript">
alert("Arquivo muito grande, o arquivo deve ter no máximo 5Mb");
history.back();
</script>';
exit;
}else{
$caminho = $diretorio.$imagem['name'];
if(move_uploaded_file($imagem['tmp_name'], $caminho) == ""){
echo '<script type="text/javascript">
alert("Selecione a imagem desejada!");
history.back();
</script>';
}else{
$casas = strlen($imagem['name']) -4;
$extensao = substr($imagem['name'], -4, 4);
$aqv = substr($imagem['name'], 0, $casas);
$img = strtolower(remover($aqv).$extensao);
$tabela_ = "xxxxx";
$campos_ = "empresa, coordenadoria, titulo, chamada, imagem, reporter, texto, status, ipcad, cadastradopor, datacad, horacad";
$valores_ = "'".$_SESSION['empresa']."', '".$_POST['coordenadoria']."', '".$_POST['titulo']."', '".$_POST['chamada']."', '".$img."', '".$_POST['reporter']."', '".$_POST['texto']."', '".$_POST['status']."', '".$ip."', '".$_SESSION['nome']."', '".$data."', '".$hora."'";
$alertap_ = "A notícia foi cadastrada com sucesso!";
$alertan_ = "Ocorreu um erro! Tente novamente mais tarde.";
$redirecionar_ = "noticias.php";
inserir($tabela_, $campos_, $valores_, $alertap_, $alertan_, $redirecionar_);
}
}
} ?> valeu galera... consegui fazer mas ainda esta dando erro no retorno dos dados... tudo certo! valeu pela ajuda de vocês...