2013-04-25 10 views
5

Próbuję napisać funkcję jquery, która wyświetli się i powie, że post się powiódł! a jeśli nie, Post nie powiodło się! Jak mogę użyć catch catch z wprowadzeniem jquery?Używanie jquery do sprawdzania, czy test POST się powiódł

@using (Html.BeginForm("Admin", "Home", "POST")) 
{ 
<div class="well"> 
    <section> 
     <br> 
     <span style="font-weight:bold">Text File Destination:&#160;&#160;&#160;</span> 
     <input type="text" name="txt_file_dest" value="@ViewBag.GetTextPath"> 
     <span style="color:black">&#160;&#160;&#160;Example:</span><span style="color:blue"> \\invincible\\chemistry$\\</span> 
     <br> 
     <br> 
     <span style="font-weight:bold">SQL Connection String:</span> 
     <input type="text" name="sql_Connection" value="@ViewBag.GetSqlConnection"> 
     <span style="color:black">&#160;&#160;&#160;Example:</span> <span style="color:blue"> Server=-</span> 
     <br> 
     <br> 
     <button class="btn btn-success" type="submit" >Save Changes</button> 
    </section> 
</div> 

}

Odpowiedz

0
$.ajax({ 
    url: 'post.html', 
    success: function(){ 
    alert('success'); 
    }, 
    error: function(){ 
    alert('failure'); 
    } 
}); 
+0

Jak to zrobić, jeśli używam postu helpera HTML zamiast publikowania przez jquery/ajax? –

+0

Nigdy nie działało w poście HTML Helper Post. http://api.jquery.com/jQuery.ajax/ –

+0

Czy istnieje sposób, aby zrobić to, co próbuję zrobić? –

0

Compounding do odpowiedzi Sonu za Znalazłem podobne pytania co to trudne do osiągnięcia w postaci HTML złożyć ma zwrotnego i wydaje się, że zaleca się stosowanie ajax() kiedy chcesz potwierdzić odłożenie formularza.

Proszę zobaczyć ten Stackoverflow Link.

1

Będziemy chcieli zmienić deklarację HtmlHelper BeginForm nieznacznie, tak że atrybut id będą renderowane z elementu, na przykład:

@using (Html.BeginForm("Admin", "Home", FormMethod.Post, new { id = "well-form" })) 

Teraz można dodać skrypt powyżej deklaracji który traps- i - przesyła formularz i obsługuje odpowiedź (sukces lub błąd).

<script> 
$(function() { 
    // Find the form with id='well-form' 
    $('#well-form').submit(function() { 
     $.ajax({ 
      url: this.action, 
      type: this.method, 
      data: $(this).serialize(), 
      success: function(result) { 
       alert('Post was successful!'); 
      }, 
      error: function(result) { 
       alert('Post was not successful!'); 
      } 
     }); 
     // return false to cancel the form post 
     // since javascript will perform it with ajax 
     return false; 
    }); 
}); 
</script> 
3

więc zorientowali się moją odpowiedź. Dla przyszłego odniesienia się do każdego, kto próbuje tego, poniżej jest to, co zrobiłem. Umieściłem go powyżej @using (Html.BeginForm ("Admin", "Home", "POST")). @Andrew Próbowałem twojego, ale nie mogłem go uruchomić. Dziękuję wszystkim, że chcieli mi pomóc.

<script language="javascript" type="text/javascript"> 
    $(function() { 
     $("form").submit(function(e) { 
      $.post($(this).attr("action"), // url 
    $(this).serialize(), // data 
    function (data) { //success callback function 
    alert("Edit successful"); 
    }).error(function() { 
     alert('failure'); 
    }); 
      e.preventDefault(); 
      }); 
     }); 
</script> 
Powiązane problemy