Ir para conteúdo
Fórum Script Brasil
  • 0

Iframe + Dados


Guest - Hada_Shall -

Pergunta

Guest - Hada_Shall -

galera é o seguinte, eu tenho um formulário q tem um iframe q chama um combo, ou seja o combo esta dentro do iframe. O problema era na hora d pegar a variavel desse combo.

Fazendo testes eu consegui criar uma função q pega o q a pessoa escolheu no combo, só q fiz testes utilizando alert, meu teste funcionava assim, na hora q clicava no botão cadastrar aparecia uma msg dizendo o valor do combo. Só q na hora d passar essa variavel eu não consegui, fiz da seguinte maneira.

<script>

var evento;

function valor() {

evento = iframe_evento.document.form.evento.value;

}

<script>

e no form

<form method='POST' name='form' action='salvo.php' onsubmit='valor();'>

quando eu coloco alert na function funciona, mas assim ele não pega...

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest - Hada_Shall -

Página principal:

<?php

session_start();

if (!isset($HTTP_SESSION_VARS["user"])) { header("Location: index.php?acao=2"); }

include('class.php');

$obj = new uteis;

?>

<script language=Javascript">

var evento;

function valor() {

evento = iframe_evento.document.form.evento.value;

document.form.action = 'salvo.php?evento=' + evento;

}

function allowInString (InString, RefString) {

if(InString.length==0) return (false);

for (Count=0; Count < InString.length; Count++) {

TempChar= InString.substring (Count, Count+1);

if (RefString.indexOf (TempChar, 0)==-1) return (false);

}

return (true);

}

function valida_email(mail) {

if ( ( (mail.indexOf("@") < 0) || (mail.indexOf(".") < 0) || (allowInString(mail.toUpperCase(),"ABCDEFGHIJLMNOPQRSTUVXZKYW0123456789._@") == false)) ) {

window.alert("O campo Email não admite:\n - Caracteres especiais, caracteres de pontuação ou acentos (exceto \"@\");\n - Emails sem o caracter \"@\" e/ou \".\";\nPor favor digite outro email !");

vmail = false;

} else { vmail = true; }

}

var varcep;

var varcnpj;

function conta_cep (){

varcep = document.form.cep.value;

if ((varcep != "") && (allowInString(varcep,"0123456789") == false)) {

window.alert("O campo CEP não pode conter letras ou caracteres especiais!");

document.form.cep.value="";

document.form.cep.focus();

}

}

function conta_cnpj (){

varcnpj = document.form.cnpj.value;

if ((varcnpj != "") && (allowInString(varcnpj,"0123456789") == false)) {

window.alert("O campo CNPJ não pode conter letras ou caracteres especiais!");

document.form.cnpj.focus();

document.form.cnpj.value="";

}

}

</script>

<?php

#---select e insert--------------------------------------------------------------------------

$sql="SELECT A.UF

FROM ARCA_WEB.EVENTO A";

$sql=ociparse($ora_conecta,$sql);

//ociexecute($sql);

#---criação das variaveis usadas p/ configuração---------------------------------------

$font = "<font face='verdana' size='2'>";

$font2 = "<font face='verdana' size='1'>";

$style = "style= border-color:#efefef;border-style:solid;font-family:verdana;font-size:12;color:#003399";

$estado = array('AC,AC','AL,AL','AP,AP','AM,AM','BA,BA','CE,CE','DF,DF','ES,ES','GO,GO','MA,MA','MT,MT','MS,MS',

'MG,MG','PA,PA','PB,PB','PR,PR','PE,PE','PI,PI','RJ,RJ','RN,RN','RS,RS','RO,RO','RR,RR','SC,SC',

'SP,SP','SE,SE','TO,TO');

$mes = array("01,Janeiro","02,Fevereiro","03,Março","04,Abril","05,Maio","06,Junho","07,Julho","08,Agosto",

"09,Setembro","10,Outubro","11,Novembro","12,Dezembro");

#---abre html-------------------------------------------------------------------------------

$htm .="<html>";

$htm .="<head >

<title>Mala Direta</title>

</head>";

$htm .="<body style= 'background-repeat: no-repeat ; background-image: url(logo.jpg);

background-attachment: fixed; background-position: left ;'>\n";

#---abre form-------------------------------------------------------------------------------

$htm .= "<form method='POST' name='form' action='salvo.php' onsubmit='valor();'>\n";

#---abre tabela-----------------------------------------------------------------------------

$htm .= "<table border='0' width='75%'>\n";

$htm .= "<tr>";

$htm .= "<td>".$font."Evento:</font><font color='#FFFFFF'> . . .</font></td>\n";

$htm .= "<td><iframe src ='evento.php' name='iframe_evento' frameborder='0' border='0' width='550' height='25' marginheight='0' marginwidth='0' scrolling='no'></iframe></td>\n"; #gera combo eventos

$htm .= "</tr>";

$htm .= "</table>";

$htm .= "<table border='0' width='75%'>\n";

$htm .= "<td>".$font."Razão Social: </font></td>\n";

$htm .= "<td><input type='text' name='razao' maxlength='60' size='40' value='' ".$style."></td>\n";

$htm .= "</tr><tr>\n";

$htm .= "<td>".$font."Endereço: </font></td>";

$htm .= "<td><input type='text' name='end' maxlength='100' size='50' value='' ".$style."></td>\n";

$htm .= "</tr><tr>\n";

$htm .= "<td>".$font."Cidade: </font></td>\n";

$htm .= "<td><input type='text' name='cid' maxlength='50' size='30' value='' ".$style."></td>\n";

$htm .= "<td>".$font."UF: </font></td>\n";

$htm .= "<td>".$obj->combo_array_sel('uf',ociresult($sql,"UF"),$estado)."</td>\n";

$htm .= "</tr><tr>\n";

$htm .= "<td>".$font."CEP: </font></td>\n";

$htm .= "<td><input type='text' name='cep' title='Somente caracteres numéricos' onkeydown='conta_cep();' maxlength='8' size='10' value='' ".$style.">".$font2."<i> * Somente números</i></font></td>\n";

$htm .= "<td>".$font."CNPJ: </font></td>\n";

$htm .= "<td><input type='text' name='cnpj' title='Somente caracteres numéricos' onkeydown='conta_cnpj();' maxlength='14' size='20' value='' ".$style.">".$font2."<i> * Somente números</i></font></td>\n";

$htm .= "</tr><tr>\n";

$htm .= "<td>".$font."E-mail: </font></td>\n";

$htm .= "<td><input type='text' name='email' maxlength='80' size='40' onblur='valida_email(this.value);' value='' ".$style."></td>\n";

$htm .= "<td>".$font."Contato: </font></td>\n";

$htm .= "<td><input type='text' name='contato' maxlength='50' size='30' value='' ".$style."></td>\n";

$htm .= "</tr><tr>\n";

$htm .= "<td>".$font."Comprador: </font></td>\n";

$htm .= "<td><input type='text' name='comprador' maxlength='50' size='30' value='' ".$style."></td>\n";

$htm .= "<td>".$font."Data: </font></td>\n";

$htm .= "<td>".$obj->combo_data("dia","1-31"). "/ ".

$obj->combo("mes",$mes). "/ " .

$obj->combo_data("ano","2005-".date('Y')."")."</td>\n";

$htm .= "</tr><tr\n>";

$htm .= "<td>".$font."OBS: </font></td>\n";

$htm .= "<td><textarea name='obs' maxlength='1024' cols='50' rows='6' value='' ".$style."></textarea></td>\n";

$htm .= "</tr>\n";

$htm .= "</table><br>\n";

$htm .= "<table border='0' width='50%'>\n";

$htm .= "<tr>";

$htm .= "<td align='right'><input type='submit' name='cadastrar' value='Cadastrar'></td>\n";

$htm .= "</tr>\n";

#---fecha form------------------------------------------------------------------------------

$htm .="</form>\n";

#----fecha html-----------------------------------------------------------------------------

$htm .="</body>";

$htm .="</html>";

#-----imprime na tela----------------------------------------------------------------------

print $htm;

?>

iframe:

<?php

session_start();

if (!isset($HTTP_SESSION_VARS["user])) { header("Location: erro.htm"); }

include('conecta.php');

include('class.php');

$obj = new uteis;

$sql="SELECT A.CODIGO,A.NOME_EVENTO FROM ARCA_WEB.NOME_EVENTO A WHERE A.CODIGO > 0 ORDER BY A.NOME_EVENTO ";

$sql=ociparse($ora_conecta, $sql);

?>

<html>

<head> <title>..:: Mala Direta ::..</title> </head>

<body onload="document.form.evento.focus();">

<form method="GET" name="form">

<table border="0">

<tr>

<td><? echo $obj->combo_sql($sql,'evento'); ?> </td>

<td align='left'>

<a href="#">

<img src="lapis.gif" width="20" height="20" border="0" alt="Cadastrar novo evento"

onclick='window.open("cad_evento.php","Eventos","width=360,height=100,top=100,left=300");'>

</a>

</td>

<td align='left'>

<a href="#">

<img src="borracha.gif" width="20" height="20" border="0" alt="Alterar evento"

onclick='window.open("alt_evento.php?cod_evento="+document.form.evento.value,"Eventos","width=360,height=100,top=100,left=300");'>

</a>

</td>

<td align='left'>

<a href="#">

<img src="refresh.gif" width="20" height="20" border="0" alt="Atualizar combo"

onclick="document.form.submit();">

</a>

</td>

</tr>

</table>

</form>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Eu não entendi o que não funcionou! rs...

O valor está passando certo!

Quando você submete o formulário ele vai para a página salvo.php?evento=VALOR DO COMBO

olha só fiz um somente com html, sem php

Pagina principal


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script language="Javascript">

var evento;
function valor() {
  evento = iframe_evento.document.form.evento.value;
  document.form.action = 'cookies.php?evento=' + evento;
}
</script>
</head>

<body>
<form method='POST' name='form' action='cookies.php' onsubmit='valor();'>
<iframe src ='iframe.php' name='iframe_evento' frameborder='0' border='0' width='550' height='25' marginheight='0' marginwidth='0' scrolling='no'></iframe>
<br />
<br />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
iframe.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form method="GET" name="form">
  <select name="evento">
    <option value="ev1">Evento1</option>
    <option value="ev2">Evento2</option>
    <option value="ev3">Evento3</option>
  </select>
</form>
</body>
</html>

Dê uma olhadinha pois ele está passando certo...

na página salvo.php você pode pegar o valor do combo com $_GET['evento']

se mesmo assim persistir rs... ai eu não sei o que poderia estar dando de errado, talves você pudesse editar o post que você fez, colocando o html gerado da página, ficaria mais fácil debugar o erro

até mais!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...