2016-06-22 15 views
0

Ich habe eine Schaltfläche, die ein "Löschen" -Ereignis auslöst. Dieses Ereignis aktualisiert einen Datenbankeintrag durch einen gespeicherten Prozess, falls der Benutzer entscheidet, fortzufahren. Benutzer können einen Standort jedoch nur als geschlossen markieren (sie können nicht wieder zu öffnen). Der Standardwert eines Standorts wird für open als string status = "1" deklariert (und als varchar (1) gleich "1" im gespeicherten proc). Wenn der Status "0" ist, bedeutet dies, dass der Standort geschlossen ist.Wert eines Onclick-Ereignisses an den Controller übergeben

Meine Frage ist ... wie kann ich es so machen, dass das Ereignis die Änderung in meinem Controller widerspiegelt, der das Update behandelt? Ist es wichtig, dass die Variable als String deklariert wird?

Taste:

<button type="submit" name="RemoveAccount" id="RemoveAccount" onclick="Confirm_delete()" value="@Model.Location.status">Remove</button> 

JS:

function Confirm_delete() 
{ 
    return confirm('Are you sure you want to remove this entry?'); 
}; 
+0

Sie können jquery Dialog verwenden und rufen Sie Ihren Controller mit Ajax diesen Link http://StackOverflow.com/questions/17554389/How-do-Call-an-Jquery-Ajax-Funktion-on-Jquery-Ui-Dialog -Button-Call –

+0

Was genau fragen Sie? Um 'Confirm_delete' zu ​​ändern, damit der' Wert' der Schaltfläche berücksichtigt wird? –

+0

Ja, ich möchte den Wert auf "0" ändern, wenn der Benutzer mit dem Löschen fortfährt. Wenn nicht, dann belassen Sie als Standard "1". – julianc

Antwort

1

einfach eine if auf Ihre Funktion hinzufügen:

function Confirm_delete(el) { 
    if (el.value === '1') { 
     el.value = '0'; 
     return confirm('Are you sure you want to remove this entry?'); 
    } 
    return false; 
} 

Wie @ Alex in den Kommentaren erwähnt, ändern die onclick zu return Confirm_delete(this). Hinweis Ich habe auch this als Argument hinzugefügt, um klar zu sein, dass wir einen Verweis auf die Schaltfläche erhalten möchten.

Beachten Sie, dass die Schaltfläche type="submit" der Schaltfläche das Formular senden muss, das verursacht, dass der Server beteiligt wird, da die Schaltfläche, die Sie haben. Wenn Sie Ihr Modell korrekt zugeordnet haben, sollte der Wert @Model.Location.status bis zum erneuten Anzeigen der Seite auf "0" geändert werden.

Verwandte Themen