2010-08-19 3 views
1

J'ai une page qui fait un résultat JSON, get et post méthode dans le contrôleur avec deux boutons d'envoi. Un bouton va à la méthode Post uniquement pour une redirection et l'autre bouton à la méthode JsonResult (appelée AddTableData). Comment puis-je configurer ceci dans mon code JQuery?Comment exécuter un GET/POST et un RESULTAT JSON sur une page?

$('#firstSubmit').click(function() { 
    $(document).submit(function() { 
    }); 
}); 

$('#secondSubmit').click(function() { 
    $('#addTable').submit(function() { 
     $.post($(this).attr("action"), $(this).serialize(), function(response) { 
      ...load Table 
     }); 
     return false; 
    }); 
}); 

<%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %> 
    <td><input id="Submit1" type="submit" name="firstSearch" value="Search" /></td> 
    <td><input id="Submit2" type="submit" name="secondSearch" value="Search" /></td> 

Comment puis-je utiliser la firstSubmit pour frapper le poteau seulement, et le second se soumettre à travailler le JsonResult seulement?

EDIT

$('#secondSubmit').click(function() { 
    $.getJSON("Home/AddTableData", {Name:"Name on Document"}, function(json) { 
     alert("good"); 
    }); 
});  

Mes variables qui obtiennent habituellement ramassées sur une fonction get/post a disparu. Comment les poster à ma fonction JSon?

+0

Pouvez-vous poster le code html? – treeface

+0

@treeface - voir Modifier. C'est ce que j'ai pour mon bouton de soumission et l'utilisation pour mon formulaire, mais le get/post est sur l'Index.aspx – MrM

Répondre

1
$('#firstSubmit').click(function() { 
    $('#addTable').submit(); 
}); 

$('#secondSubmit').click(function() { 
    $.getJSON("Home/AddTableData", $('#addTable').serialize(), function(json) { 
    alert("good"); 
    }); 
}); 


<%using (Html.BeginForm("LoadTable", "Home", FormMethod.Post, new { id = "addTable" })) %> 
<td><input id="Submit1" type="button" name="firstSearch" value="Search" /></td> 
<td><input id="Submit2" type="button" name="secondSearch" value="Search" /></td> 
+0

Je ne vais pas à ma méthode JsonResult cependant (AddTableData) .Est-il là pour rediriger là? – MrM

+0

je suis désolé didnt vous, pourriez-vous expliquer plus loin, –

+0

Je pense que je me rapproche. JsonResult méthode, mais les variables que je passe habituellement de mon formulaire est maintenant null.Savez-vous comment faire? Voir mes nouvelles modifications – MrM

2

En supposant que je vous comprends bien, j'ai 2 réponses pour vous ...

  1. Pourquoi utiliser JavaScript juste pour poster un formulaire sans Ajax?

  2. Si vous devez envoyer le formulaire en utilisant JavaScript, soumettez le formulaire, pas le document, donc quelque chose comme:

    $('form').submit();

+0

Le formulaire est en cours de publication dans le JSonResult. "addTable.Le poste est sur le contrôleur de la méthode Index – MrM

+0

Vous avez raison, j'ai fait cette correction et j'en utilise maintenant un comme un type de soumission et l'autre comme un bouton, cela prend soin du problème Merci – MrM

0

Je n'ai pas testé:

$('#secondSubmit').click(function() { 
    $url = 'Home/AddTableData/?'+$('#add_table').children('input').serialize() 
    $.getJSON($url, {Name:"Name on Document"}, function(json) { 
     alert("good"); 
    }); 
});  
Questions connexes