Submit Ajax

1 resposta
victormenegusso
Olá, eu tenho uma função java Script que faz um submit no meu form.... isto está OK, o problema que dentro do meu form eu tenho (onsubmit="ajaxSubmit ...) que chama a funçao ajax para nao ter um refresh, se eu clico em um botao submit tudo ocorre ok, mas se eu utilizo minha java script para dar um submit ele da o refresh na pagina
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects/>

<form method='post' name="myMapa" action="" onsubmit="ajaxSubmit('<%=renderResponse.createResourceURL()%>','testdiv', Form.serialize(this),true); return false;">
       <input type="hidden" name="retorno" value="ss"><br></br>
       <img src="<%= request.getContextPath() %>/img.jpg" usemap="#Map" border="0"/>
          <map name="Map" id="Map">
            <area shape="rect" coords="63,17,153,77"   href="javascript:submitformMapa('ssa') "/>
              </map>
              <input type="submit" >     
              </form>
              
  
<script type="text/javascript">
// AJAX call using Prototype.js and Scriptaculous for effects
function ajaxSubmit(url,target,params,effects)
{
	new Ajax.Updater(target, url, {method: 'GET', asynchronous:true,parameters:params});
	if(effects){
		new Effect.BlindDown(document.getElementById("testdiv"));
		new Effect.Highlight(document.getElementById("testdiv"),
		{startcolor: '#0066CC', endcolor: '#ffffff', restorecolor:'#FFCC99'});
	}
}
function submitformMapa(action)
{
	document.forms['myMapa'].retorno.value = action;
  	document.forms['myMapa'].submit();
}
</script>

1 Resposta

P

A função ajaxSubmit é que deve retornar false.

function ajaxSubmit(url,target,params,effects){  
    new Ajax.Updater(target, url, {method: 'GET', asynchronous:true,parameters:params});  
    if(effects){  
        new Effect.BlindDown(document.getElementById("testdiv"));  
        new Effect.Highlight(document.getElementById("testdiv"),  
        {startcolor: '#0066CC', endcolor: '#ffffff', restorecolor:'#FFCC99'});  
    }
    return false;
}
<form method='post' name="myMapa" action="" onsubmit="javascript:ajaxSubmit('<%=renderResponse.createResourceURL()%>','testdiv', Form.serialize(this),true)">
...
Criado 8 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 1
Participantes 2