Javascript “se” dichiarazione entro avviso

Sono nuovo di JavaScript, e mi chiedo come incorporare “se” istruzioni all’interno di avvisi. In particolare, sto lavorando su un modulo, e voglio l’avviso che appare dopo che l’utente fa clic su “Invia” per visualizzare i messaggi differenti a seconda che gli elementi di input dell’utente sono problematici (se qualsiasi). So che potrei farlo in un altro modo (cioè, utilizzare una serie di istruzioni if per determinare quale avviso di mostrare), ma speravo di essere in grado di utilizzare l’if/else” all’interno dell’avviso stesso codice. Grazie!

  • Lo avete già provato?
  • No, e inoltre perché si vuole? È molto più leggibile e più logico scrivere “se questo avviso che, altrimenti se questo avviso che…”
  • non necessariamente. Avrebbe senso vedere qualcosa di simile alert(getMessage()), dove getMessage contiene il necessario if dichiarazioni.
  • Sì, ho provato, ma non sembra funzionare (io non sono terribilmente familiarità con la sintassi di JavaScript). E ho voluto usare l’istruzione if, perché lo script visualizza un messaggio per tutto il tempo e poi aggiungere valori opzionali…mi sa che si poteva fare altrimenti, ma voglio solo sapere se è possibile mettere l’istruzione if in allerta…
  • Si prega di mostrare la che cosa hai provato, preferibilmente come una prova ridotti caso in jsfiddle o simili.

 

4 Replies
  1. 3

    Non si desidera utilizzare un allarme. E ‘ utilizzato esclusivamente per informare l’utente che qualcosa è accaduto, e non è possibile ottenere esattamente il feedback da esso. Quello che si dovrebbe usare invece è una richiesta o una conferma. Utilizzando la conferma di codice vi permetterà di determinare se l’utente fare clic su OK o Annulla. Mentre questo è molto limitata, ancora funziona in modo simile a quello che stai cercando. Per esempio

    var r=confirm("Press a button");
    if (r==true)
      {
      x="You pressed OK!";
      }
    else
      {
      x="You pressed Cancel!";
      }

    Utilizzando il prompt codice di permettere all’utente di inserire un valore, che è quindi possibile aggiungere a una variabile e usare la logica da lì, come

    var person=prompt("Please enter your name","Harry Potter");
    
    if (person!=null)
      {
      x="Hello " + person + "! How are you today?";
      document.getElementById("demo").innerHTML=x;
      }

    La sintassi standard per la funzione del prompt è

    prompt("This text will appear in the alert box","This is the default value");

    La mia fonte e ulteriori informazioni, è disponibile a W3schools

    Edit – ho dimenticato di dire che, se si sta utilizzando un modulo che si è fatto in javascript, potrebbe essere più facile solo per eseguire un semplice if/else, che controlla se tutti i valori che hai in ingresso non sono null e avere il giusto tipo di dati prima di consentire loro di continuare. Sono l’altro di essere l’avviso, suppongo, se si utilizza la conferma di validità, in contrapposizione a una sua mancanza.

    • Io darei +1 fino a quando non vedo link W3Schools come una risorsa…
    • Cosa c’è di sbagliato con W3schools? Ha detto di non capire molto di sintassi, e che è un ottimo posto per iniziare. Voglio dire, davvero, mi corregga se sbaglio. Che è quello che mi è stato insegnato ad utilizzare come riferimento quando ho iniziato, ed è veramente aiutato!
  2. 0

    Utilizzare una variabile:

    msg = "";
    if (…)
        msg = "error 1";
    else if (…)
        msg = "error 2";
    […]
    
    if (msg.length)
        alert(msg);

    Speravo di essere in grado di utilizzare l’if/else” all’interno dell’avviso codice chiama

    Si potrebbe utilizzare il operatore condizionale, che è fondamentalmente un altro-se all’interno di un’espressione – il che significa che l’intera espressione può essere passato come argomento:

     alert( /* condition */ ? "error 1" : "everything is fine" );
  3. 0

    Si può scrivere qualcosa di simile

    alert(condition ? "Text if true": "text if false");

    Ma non sarebbe più leggibile il codice. Il commento di opzioni di

    alert(getAlertMessage(anyNeededValue));

    o

    if (cond) {
        alert("true");
    } else {
        alert("false");
    }

    suono migliore. Ma se si è veramente appassionati che “se nell’avviso”, qui si ha una funzione inline:

    alert((function(){ 
        if (cond) { return "Text when true";}
        else {return "Text when false");})());
  4. 0

    alert prende una stringa come input. Che può venire da una variabile.

    var message;
    
    if ("condition1") {
      message = "message1";
    } else if ("condition2") {
      message = "message2";
    } else if ("condition3") {
      message = "message3";
    }
    
    alert(message);

    Purtroppo if è una dichiarazione, e non può essere utilizzato direttamente come argomento. Ma è possibile utilizzare l’operatore ternario, invece, che è un’espressione.

    alert(if ("this") { "won't" } else { "work"} );
    alert('but' ? 'this' : 'will');

    Questo è anche possibile, anche se non l’ho mai visto usato:

    alert(
      ('condition1') ? 
       'result1' : 
      ('condition2') ? 
       'result2' : 
       'result3'
    );

Lascia un commento