2017-04-26 29 views
1

我在这里是一个初学者,所以问题可能是愚蠢的,有一个POST数据从HTML表单传递,我希望它打印一些字符串基于该值,可以说基于POST数据值打印字符串

$_POST['veggie'] 

数据可能是1,2,3。我希望它能打印出“苹果”,“香蕉”,“胡萝卜”。我一直在使用JavaScript的尝试,但它不会读取POST数据

<script> 
    whatVeggie(){ 
     if ($_POST['veggie'] == 1) { 
      document.getElementById('myVeggie').innerHTML="apple"; 
     } else if ($_POST['veggie'] == 2){ 
      document.getElementById('myVeggie').innerHTML="banana"; 
     } else if $_POST['veggie'] == 3){ 
      document.getElementById('myVeggie').innerHTML="carrot"; 
      } 
     } 
</script> 

<body onload="whatVeggie();"> 
I like to eat<p id="myVeggie"></p> 
</body> 
+0

您以奇怪的方式混合PHP和JS ... –

+1

您正在混合JavaScript和PHP?这不起作用 –

+0

Javascript是客户端,POST或GET是指服务器端请求。当它发布到服务器并以这种方式输出时,您需要获取该值。 –

回答

0

不用了,JS在这里你可以简单的PHP代码中使用:

<?php 
    $id='default_id'; 
    $veggies = ["","apple","banana","carrot"]; 

    if (isset($_POST['veggie'])){ 
     $id = $veggies[$_POST['veggie']]; 
    } 
?> 

<body> 
    I like to eat<p id="<?php echo $id; ?>"></p> 
</body> 

希望这有助于。

+1

你也可以使用数组来使它更紧凑http://php.net/manual/en/language.types。 array.php#example-56 :) –

+0

<?php $ selVeggie = $ _POST [“veggie”]; $ veggies = array( '1'=>“apple”, '2'=>“banana”, '3'=>“carrot”, ); echo $ stores [$ selStore]; \t?> – user1058806