1

我想在不提交表格的情况下从表格中获得价值,因为客户必须选择正确类型的房屋模型才能获得适合所选房屋模型的正确表格,无需提交,只需选择房屋模型,例如继续之后的其他形式。

到目前为止,我已经尝试过:

<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\">";
}
}
?>        
4

5 回答 5

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());
 });
于 2013-03-28T08:13:35.077 回答
1

我认为,如果您不想page在用户从下拉列表中选择值时刷新,那么您可以使用ajax. AJAX用于此目的。如果你谷歌,那么你会发现很多与AJAX.

于 2013-03-28T08:17:32.753 回答
1

如果您不想提交表单,您可以使用 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>
于 2013-03-28T08:18:43.940 回答
0

在 PHP 中提交之前,无法从表单中获取数据!这是因为在提交表单之前,根本不会调用 PHP 脚本。

如果您想在发送数据之前进行一些验证,您必须使用在客户端浏览器上运行的 javascript。看看 jQuery 库,这很容易:http ://docs.jquery.com/Plugins/Validation/validate

如果您只想使用 PHP,那么您需要将表单分成两个页面。

于 2013-03-28T08:15:18.147 回答
0

您必须使用 ajax 来实现这一点。例如

<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
    });
于 2013-03-28T08:16:01.400 回答