2017-08-21 82 views
0

我想这样如果它收到key"test"通过邮寄,<h2> hello </ h2>应该输出到创建一个PHP IF语句,否则<span> error </ span> 我怎么能作出这样的?运行从PHP JavaScript函数if语句

<div id="rre"> 
    <h2 class="desktop">Hamburg,a major port city in northern Germany.</h2> 
    <h2 class="mobil">Berlin,is the capital and the largest city of Germany.</h2> 
</div> 
<form action="viereck.html" method="POST"> 
    <input type="text" name="check"?> 
    <input type="button" value="Klick" onclick="klick();" /> 
    </form> 

    <script type="text/javascript"> 
      function klick() { 
      jQuery('#rre').html('<h1>Hallo</h1>');   
      }   
     </script> 
+1

PHP不运行Javascript。 PHP在服务器上运行。在节点之外的Javascript运行在客户端上。你可以做的最好的是编写你的PHP有条件地创建JavaScript,将执行你想要的,取决于PHP收到的输入。但PHP不会执行该JavaScript。客户将收到您的有效负载。 – Taplar

+1

@Taplar我认为他只是想将一个值传递给前端,但他不是很清楚 – Shard

+0

我想做这样的事情if($ _POST [“check”] ==“test”) \t echo“jQuery('#rre')。html('

Hallo

')”; else { \t echo“ error”; } – MOS

回答

0

您返回需要在里面脚本的标签,如响应:

echo '<script type="text/javascript">alert();</script>'; 
0

为什么你不这样做,使用jQuery:尝试水木清华这样

<script type="text/javascript"> 
    function klick() { 
     if($("#text").val() == 'test'){ 
      jQuery('#rre').html("<h1>Hello there!</h1>"); 
     }else{ 
      jQuery('#rre').html("Error");    
     } 
    }   
</script> 

的Html

<div id="rre"> 
    <h2 class="desktop">Hamburg,a major port city in northern Germany.</h2> 
    <h2 class="mobil">Berlin,is the capital and the largest city of Germany.</h2> 
</div> 
<form action="viereck.html" method="POST"> 
    <input type="text" name="check"? id="text"> 
    <input type="button" value="Klick" onclick="klick();" /> 
</form> 

JSFIDDLE

+0

它的工作方式,但我想创建使用PHP的条件,如果有可能! – MOS

0

如果您要发布的页面是viereck.html,那么您将无法使用PHP。

如果你可以将文件改为viereck.php,您可以POST它就像你正在做的,与action="viereck.php" method="POST"然后,在你的页面的顶部,检查POST值在PHP中,如:

<?php 

if(isset($_POST['check'])){ 
    $check = '<span>error</span>'; 
    if($_POST['check'] == 'test'){ 
      $check = '<h1>Hallo</h1>'; 
    } 
} 

?> 

如果你的jQuery是在同一页上,您可以插入像PHP:

<script type="text/javascript"> 
    function klick() { 
     jQuery('#rre').html(<?= $check; ?>);   
    }   
</script> 

这样做,虽然它作为你的项目的发展可能会导致一些严重的头痛,我不会RECOM修补它。为什么不考虑使用AJAX?您可以提交表单并返回指示成功或失败的消息,以及原因。然后,您可以在jQuery中创建HTML,而不是像下面这样的PHP字符串:

// On form submit 
$.ajax({ 
    url: "viereck.php", 
    type: 'POST', 
    success: function(result){ 
     var msg = $('<h1>').text('Hallo'); 
     $('#rre').html(msg); 
    }, 
    error: function(result){ 
     var msg = $('<span>').text('Error'); 
     $('#rre').html(msg); 
    } 
}); 
+0

对不起,但它不工作 – MOS