2012-04-05 9 views
7

aufgerufen ich Ajax.Begin Formular verwenden in meiner MVC 3 Razor + AnwendungAjax.BeginForm mit OnBegin verhindert Aktion

using (Ajax.BeginForm("ActionName", "ControllerName", new AjaxOptions { OnBegin = "ValidateDateFunction('" + @abc.xyz + "')", HttpMethod = "POST", UpdateTargetId = "savebutton" })) 
    { 
     <input type="submit" value="Save" /> 
    } 

Unten ist, wie meine onBegin Methode aussieht. Ich gebe dieser Methode einen Wert, ich kann eine richtige Warnung erhalten.

Jetzt mit dieser wollte ich, dass wenn meine Bedingung fehlschlägt dann Aktion nicht aufgerufen werden sollte. Aber hier in meinem Fall wird meine Handlung in beiden Bedingungen aufgerufen.

Bitte helfen Sie mit.

Unten ist meine eigentliche Validate-Methode

 function ValidateDateFunction(fId) { 

     var first = document.getElementById("startDate" + fId); 
     var second = document.getElementById("endDate" + fId); 

     if (first.value == "" && second.value != "") { 
      alert("Please select both dates"); 
      return false; 
     } 
     else if (first.value != "" && second.value == "") { 
      alert("Please select both dates"); 
      return false; 
     } 

     var startDateVal = new Date(first.value); 
     var endDateVal = new Date(second.value); 

     if (startDateVal.getTime() > endDateVal.getTime()) { 
      alert("Error ! The start date is after the end date!"); 
      return false; 
     } 
     alert('should not reach here'); 
     return true; 

    } 
+0

es gefunden! musste einfach meine OnBegin Eigenschaft zwicken OnBegin = "ValidateDateFunction zurückkehren ('" + @ abc.xyz + "')" Link I bezeichnet http://stackoverflow.com/questions/8056968/asp -net-mvc-3-0-ajax-aktionlink-onbeign-function-true-the-execute-the-action – Yasser

+0

Was möchten Sie weitergeben? – HaBo

+0

es gefunden http://stackoverflow.com/questions/10024135/ajax-beginform-with-onbegin-prevent-action-to-be-called/10039566#10039566 – Yasser

Antwort

Verwandte Themen