if (document.formulario1.editora.value == "NOVO") {
$(".panel").slideToggle("slow");
}
});
});
</script>
Isso funciona perfeitamente! Faço a tela deslizar para baixo e aparece um campo para eu digitar uma Nova Editora, pois, isto significa que a Editora que se deseja cadastrar, ainda não está na Base de Dados.
Acho que é a partir daqui que vem meu erro e não consigo fazer funcionar.
Como você viu lá em cima, o próximo campo a ser digitado é "EDIÇÃO". Na teoria, desejo ao clicar neste campo, gravar a Editora desejada e voltar a tela ao estado inicial, ou seja, deslizar para cima e sumir com o campo que surgiu.
Voltar ao normal eu consigo da seguinte maneira. O campo Edição está definido assim:
(esta função - na teoria - colocará o nome da nova editora no OPTION - e me permitirá gravar o nome da editora, através de rotina php, na página que se abrirá)
......... acrescentando uma linha no script acima:
<script type="text/javascript">
$(document).ready(function(){
$(".flip3").focus(function(){
==========>>>> nova_janela();
$(".panel").slideToggle("slow");
});
});
</script>
Ao acrescentar esta linha, nada funciona. Nem abre a nova janela, nem faz o slider para voltar ao estado inicial.
Question
Trevoso
Meus Amigos,
Sou iniciante na programação PHP+JavaScript e estou com a seguinte dificuldade:
Estou fazendo um cadastro de livros e agora surgiu uma necessidade:
Em um formulário, tenho duas linhas com os seguintes dados:
Editora:xxxxxxxxx Edição:xxxxxxxxxxxxx Ano:xxxxxxxxxxxxx Código de Barras:
ISBN:xxxxxxxxxxxx Localização:xxxxxxxx Pzo de Emp:xxxxxx Quantidade:
Uso Select para o campo editora e ele puxa todas as editoras do banco com a seguinte rotina:
<select class="flip" size="1" name="editora" style="width:160px">
<option selected value="Selecione...">Selecione...</option>
<?php
$resultadoe = mysql_query("SELECT * FROM editora Order by NomeEditora ASC") or die(mysql_error());
$resultadoeditora = mysql_num_rows($resultadoe);
while ($linhaeditora = mysql_fetch_array($resultadoe))
{
?> <option value="<?php echo $linhaeditora["NomeEditora"]?>"><?php echo $linhaeditora["NomeEditora"] ?></option><?php } ?>
<option value="NOVO">NOVO</option>
</select>
Uso o seguinte script para a classe flip:
<script type="text/javascript">
$(document).ready(function(){
$(".flip").change(function(){
if (document.formulario1.editora.value == "NOVO") {
$(".panel").slideToggle("slow");
}
});
});
</script>
Isso funciona perfeitamente! Faço a tela deslizar para baixo e aparece um campo para eu digitar uma Nova Editora, pois, isto significa que a Editora que se deseja cadastrar, ainda não está na Base de Dados.
Esse novo campo está definido assim:
<p class="panel">
<label>
<span>Nova Editora:</span>
<input class="n_editora" type="text" id= name="nova_editora" size="31" maxlength="60"/>
</label>
</p>
Acho que é a partir daqui que vem meu erro e não consigo fazer funcionar.
Como você viu lá em cima, o próximo campo a ser digitado é "EDIÇÃO". Na teoria, desejo ao clicar neste campo, gravar a Editora desejada e voltar a tela ao estado inicial, ou seja, deslizar para cima e sumir com o campo que surgiu.
Voltar ao normal eu consigo da seguinte maneira. O campo Edição está definido assim:
<label>
<span>Edição:</span>
<input class="flip3" type="text" name="edicao" size="14" maxlength="2" onkeypress="return handleEnter(this, event)"/>
</label>
E para a classe flip3 tenho o seguinte script:
<script type="text/javascript">
$(document).ready(function(){
$(".flip3").focus(function(){
$(".panel").slideToggle("slow");
});
});
</script>
Ou seja, volta ao estado normal da tela, desliza para cima e o campo da Nova editora some novamente.
A partir daqui que meu status de iniciante está me dando dor de cabeça:
Estou tentando chamar a seguinte função.......
<script type="text/javascript">
function nova_janela(){
document.formulario1.editora.value = document.formulario1.nova_editora.value;
LeftPosition = (screen.width) ? (screen.width-450)/2 : 0;
TopPosition = (screen.height) ? (screen.height-450)/2 : 0;
settings = 'height=450, width= 450,top='+TopPosition+',left='+LeftPosition+',scrollbars=no, resizable';
window.open('cadastro_nova_editora.php'+'?editora='+document.formulario1.nova_editora.value,' ',settings);
};
</script>
(esta função - na teoria - colocará o nome da nova editora no OPTION - e me permitirá gravar o nome da editora, através de rotina php, na página que se abrirá)
......... acrescentando uma linha no script acima:
<script type="text/javascript">
$(document).ready(function(){
$(".flip3").focus(function(){
==========>>>> nova_janela();
$(".panel").slideToggle("slow");
});
});
</script>
Ao acrescentar esta linha, nada funciona. Nem abre a nova janela, nem faz o slider para voltar ao estado inicial.
E aí. Como posso resolver isso?
Abraços
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.