2013-03-28 54 views
1

我希望從Form中獲得價值而不必提交它,因爲客戶必須選擇合適的房屋模型以獲得適合選定房屋模型的正確形式,而無需提交,只需選擇房屋模型,例如在那之後繼續剩下的形式。如何從FORM中獲取VALUE但不提交它?

到目前爲止我試過這樣:

<form method="GET" action="foo.php"> 
    <select name="house_model"> 
    <option value="">------</option> 
    <option value="<?php echo $model1;?>">Model 1</option> 
    <option value="<?php echo $model2;?>">Model 2</option> 
    <option value="<?php echo $model3;?>">Model 3</option> 
    </select> 
</form> 

<?php  
$a = $_GET["housemodel"]; 

if($a<>'') 
{ 
if($a == $model1) 
{ 
    echo "<input type=\"text\" name=\"a\" value=\"something model1\">"; 
} 
else if($a == $model2) 
{ 
    echo "<input type=\"text\" name=\"b\" value=\"something model2\">"; 
} 
else if($a == $model3) 
{ 
    echo "<input type=\"text\" name=\"c\" value=\"something model3\">"; 
} 
} 
?>   
+1

你不能做這種方式,因爲頁已經加載了PHP腳本,您可以通過AJAX做到這一點。 – Neo 2013-03-28 08:12:44

+0

帶有java腳本和ajax的用戶 – Cooper 2013-03-28 08:13:07

+0

你卡在哪裏? – Samy 2013-03-28 08:14:48

回答

1

如果你不想提交表單,使用JavaScript來獲取元素。或者你也可以使用jquery來訪問該值。確保你把id = "something"和使用$('#something').val();

,如果你想使用JavaScript檢索,

<select name="house_model" id="model"> 
    <option value="">------</option> 
    <option value="<?php echo $model1;?>">Model 1</option> 
    <option value="<?php echo $model2;?>">Model 2</option> 
    <option value="<?php echo $model3;?>">Model 3</option> 
</select> 

<script type="text/javascript"> 
    var model= document.getElementById('model'); 
    alert("You entered: " + model); 
</script> 

AJAX這裏代碼

$("#model").live("change", function() { 
    alert("You choose " + $('#model').val()); 
}); 
0

有沒有在提交前從表單獲取數據的方式在PHP中!這是因爲在提交表單之前,PHP腳本不會被調用。

如果您想在發送數據前進行一些驗證,您必須使用在客戶端瀏覽器上運行的JavaScript。看看這使得這非常容易的jQuery庫:http://docs.jquery.com/Plugins/Validation/validate

如果您只想使用PHP,那麼您將需要將表單分隔成兩個頁面。

0

你必須使用AJAX的achiving this.For例如

<form method="GET" action="foo.php"> 
    <select name="house_model" id="house_model"> 
    <option value="">------</option> 
    <option value="<?php echo $model1;?>">Model 1</option> 
    <option value="<?php echo $model2;?>">Model 2</option> 
    <option value="<?php echo $model3;?>">Model 3</option> 
    </select> 
</form> 

$("#house_model").live("change", function() { 
    //Write the ajax and post the value to server side 
    }); 
0

我認爲,如果你不想page被刷新,當用戶從下拉列表中選擇值,那麼你可以使用ajaxAJAX用於此目的。如果你是谷歌,那麼你會發現很多有關AJAX的教程。

3

如果您不想提交表單,可以使用AJAX/jQuery獲取元素。

<form method="GET" action="foo.php" onChange="getHouseModel"> 
    <select name="house_model" id="house_model"> 
    <option value="">------</option> 
    <option value="<?php echo $model1;?>">Model 1</option> 
    <option value="<?php echo $model2;?>">Model 2</option> 
    <option value="<?php echo $model3;?>">Model 3</option> 
    </select> 
</form> 

<script type='text/javascript'> 
    function getHouseModel(){ 
     var model=$('#house_model').val(); 
     alert(model); 
} 
</script> 

或者你可以寫這樣的jQuery。所以你不必調用函數標籤

<script type="text/javascript"> 
    $('#house_model').select(function() { 
     var model=$('#house_model').val(); 
     alert(model); 
    }); 
</script> 
+0

如何將此函數轉換爲變量或用於與$模型進行比較? – user2082882 2013-03-28 09:17:03

相關問題