2016-08-09 43 views
-1

Ich habe ein Suchformular mit verschiedenem Feld, aber ich mag eine Standard in die URL setzen, wenn das Feld leer ist:Standardwert, wenn Eingabefeld leer

<input type="text" name="price-max" class="form-control" placeholder="Max Price" > 

und wenn die Form meiner url sieht etwas submited ist wie diese

search.php?location=location&category=Category&status=lease&price-max= 

stattdessen möchte ich einen Standardwert, so dass, wenn ich das Formular mit einem leeren Preisfeld vorlegen sollte die uRL mögen.

search.php?location=location&category=Category&status=lease&price-max=999 
+0

einen Wert in dem Feld hinzugefügt haben, selbst Eingang definieren –

+2

, dass serverseitige Sie, so etwas wie '$ var = leer ($ _ GET ['price-max'])? 999: $ _GET ['price-max']; ' – FirstOne

+0

Ist JavaScript erlaubt? – HerrSerker

Antwort

1

(Just) Do itserverseitige:

$price_max = empty($_GET['price-max']) ? 999 : $_GET['price-max']; 
//          /\ default value 

diese Weise, wenn Sie $price_max in Ihrer Abfrage verwenden, wird es entweder eine Benutzereingabe oder der Standardwert (999 sein - oder was auch immer Wert, mit dem Sie sich entscheiden, zu gehen).

Sie müssen nicht einmal mit der URL durcheinander bringen, um das zu erreichen.


Der vorherige Code ist das gleiche wie:

if(empty($_GET['price-max'])){ 
    $price_max = 999; // default value 
}else{ 
    $price_max = $_GET['price-max']; 
} 

Marginalien:

0

Sie müssen nur Feild Standardwert

<input type="text" name="price-max" class="form-control" placeholder="Max Price" value="999"> 
+0

was passiert, wenn Benutzer das Textfeld zurücksetzt. –

+0

es immer noch leerer Wert – mollie

0

definieren Wenn Sie Standardwert setzen möchten, können Sie Wert in jedem Eingabefeld definieren sollte.

<input type="text" value="defualt_value" name="price-max" class="form-control" placeholder="Max Price" > 
0

Statt die form direkt versenden, eine Funktion aufrufen, die Formularfelder zu validieren. Überprüfen Sie in dieser Funktion, ob dieses Feld leer ist, und fügen Sie dann Ihren Standardwert hinzu. Schließlich sendet diese Funktion die form.

0

1. Methode

definieren value attribute in Ihrem input field aber dies wird zeigen Sie Ihre default value in text field

<form method = "GET" action="search.php"> 
<input type="text" name="price-max" class="form-control" placeholder="Max Price" value = "<?php echo $_GET['price-max'] ? $_GET['price-max'] : 999 ?>"> 
<input type="submit" value="submt"> 

wenn Sie nicht eingegeben haben, dann wird es price-max = 999 sonst tragen, was Sie eingeben

2. Methode

Verwenden jQuery oder javascript für dieses

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<form method = "GET" action="search.php" id="my_form"> 
<input type="text" name="price-max" id="price-max" class="form-control" placeholder="Max Price"> 
<input type="submit"> 
</form> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#my_form").submit(function() {   
      if($("#price-max").val()=="") {    
        $("#price-max").val('999');   
          } 
     }); 
    }); 
</script> 

I idattribute-form und price-max Feld