Olá, estou precisando fazer um JSP que tenha os campos para a pessoa preencher , como nome, telefone, mas quando for dado o submit nao quero que de refresh, estou utilizando o servidor Jboss.
grato
Submit no formulario sem refresh
14 Respostas
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects/>
<%= renderRequest.getAttribute("Idade") %>
<%= renderRequest.getAttribute("Nome") %>
<form name="validate" id="validate" action="<portlet:actionURL></portlet:actionURL>" method="post">
<label for="nome">Nome:</label>
<input type="text" name="nome" />
<label for="idade">Idade:</label>
<input type="text" name="idade" />
<input type="submit" value="Validar" />
</form>
O que vc quer… é que se por um acaso… o usuário der um refresh no browser… os dados nao sejam enviados novamente… certo?
Para isso… no seu senvidor… você terá que usar um response.sendRedirect…
Para no browser… a URL atual… ser trocada… entao… se o usuário der um refresh… nao será postado novamente…
O que vc quer… é que se por um acaso… o usuário der um refresh no browser… os dados nao sejam enviados novamente… certo?Para isso… no seu senvidor… você terá que usar um response.sendRedirect…
Para no browser… a URL atual… ser trocada… entao… se o usuário der um refresh… nao será postado novamente…
acho que me expressei mal, assim, eu quero que quando o cara aperte o botao que da o submit, a minha pagina nao atualize, ela apenas mande para o portlet a informação
Então o que vc quer é um AJAX?
isso, apenas não estou conseguindo implementar ele usando portlets
Eu nao sei exatamente o que muda na utilizacao de portlets… pq nunca usei na verdade…
Mas creio que seria da mesma forma de um sistema normal…
Você terá que usar javascript para fazer isso…
Uma bilioteca como o jQuery pode ajudar…
Tem uma que gosto bastante também … que é a MooTools
opa vlw vou dar uma olhada cara
http://demos.mootools.net/Form.Send
Esse acho que é o exemplo que vc precisa…
Vc vai usar um código mais ou menos assim:
window.addEvent('domready', function() {
$('myForm').addEvent('submit', function(e) {
//Prevents the default submit event from loading a new page.
e.stop();
//Set the options of the form's Request handler.
//("this" refers to the $('myForm') element).
this.set('send', {onComplete: function(response) {
alert('Formulario enviado');
}});
//Send the form.
this.send();
});
});
http://demos.mootools.net/Form.SendEsse acho que é o exemplo que vc precisa
é isso mesmo que eu preciso, vou tentar implementar em aqui no jsp
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects/>
<script type="text/javascript">
function teste()
{
window.addEvent('domready', function() {
$('validate').addEvent('submit', function(e) {
//Prevents the default submit event from loading a new page.
e.stop();
//Set the options of the form's Request handler.
//("this" refers to the $('myForm') element).
this.set('send', {onComplete: function(response) {
alert('Formulario enviado');
}});
//Send the form.
this.send();
});
});
}
</script>
<%= renderRequest.getAttribute("Idade") %>
<%= renderRequest.getAttribute("Nome") %>
<form name="validate" id="validate" action="<portlet:actionURL></portlet:actionURL>" method="post">
<label for="nome">Nome:</label>
<input type="text" name="nome" />
<label for="idade">Idade:</label>
<input type="text" name="idade" />
<input type="submit" value="Validar"/>
</form>
ainda da o refresh
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects/>
<script type="text/javascript">
window.addEvent('domready', function() {
$('validate').addEvent('submit', function(e) {
//Prevents the default submit event from loading a new page.
e.stop();
//Set the options of the form's Request handler.
//("this" refers to the $('myForm') element).
this.set('send', {onComplete: function(response) {
alert('Formulario enviado');
}});
//Send the form.
this.send();
});
});
</script>
<%= renderRequest.getAttribute("Idade") %>
<%= renderRequest.getAttribute("Nome") %>
<form name="validate" id="validate" action="<portlet:actionURL></portlet:actionURL>" method="post">
<label for="nome">Nome:</label>
<input type="text" name="nome" />
<label for="idade">Idade:</label>
<input type="text" name="idade" />
<input type="submit" value="Validar"/>
</form>
Vc tem que adicionar os includes das biliotecas javascript do mootools tb
não entendi cara como eu vou adicionar?
É melhor vc estudar javascript tb… http://www.w3schools.com/
nossa é que eu estava com a cabeça a mil no estagio cabei nao me tocando sobre o incluir heheheh, chegando segunda faço o teste, muito obrigado cara