2012-03-25 12 views
0

次のコードを使用して、htmlボタンを使用して検索値を投稿しました。しかしonlickは動作していないようです。ボタンをクリックしたかどうかにかかわらず、値が転記されます。どのようにこの問題を解決できますか?Onlickボタンは常にhtmlボタンの値を投稿します

<form method="post" action="urban.php" id="search_form"> 
     <input type="button" class="button" name="search" value="Urban" onlick="<?php $_POST['search'] = 'Urban'; ?>"> 
</form> 

    <?php if(isset($_POST['search']) && !empty($_POST['search'])) 
     { 
      include('searchfunction.php'); 

      if(count($data) > 0) 
      { 
    ?> 
         <script type="text/javascript"> 
         $(document).ready(function(){ 

         var description = ''; 
         var myPlaylist = [ 
    <?php 
          echo(implode(',', $data)); 
    ?> 
       ]; 

         $('#main').ttwMusicPlayer(myPlaylist, { 
         autoPlay:false, 
         description:description, } 
         ); 

         }); 
         </script> 
    <?php 
      } 
      else 
      { 
       echo ('No sounds found.'); 
      } 
     } 
    ?> 
+0

は、ここで簡単な修正です。 onclick = "doSearch()"のようなものです。あなたがそこで何をしているのかかなり変わっていますが、実際にはわかりません。 –

+0

'onlick =" <?php $ _POST ['search'] = 'Urban';?> – David

+0

ボタンの値を単にポストするだけです。異なるカテゴリがあり、ボタンまたはカテゴリを押したときに結果が表示されるようにしたい。 –

答えて

2

PHP & JSが同時に実行されていない権利のonclick関数を追加:PHPは、サーバー側を実行すると、HTMLコードを作成します。 Javascriptは、すべてのHTMLが既にレンダリングされているときにクライアント側で実行されます。あなたはjavascript関数を呼び出すonclickを持つ

<form method="post" action="urban.php" id="search_form"> 
     <input type="hidden" name="search" value="<?php echo 'Urban';?>" 
     <input type="submit" value="Search"> 
</form> 
<?php if(isset($_POST['search']) && !empty($_POST['search'])) 
    { 
     include('searchfunction.php'); 

     if(count($data) > 0) 
     { 
?> 
        <script type="text/javascript"> 
        $(document).ready(function(){ 

        var description = ''; 
        var myPlaylist = [ 
<?php 
         echo(implode(',', $data)); 
?> 
      ]; 

        $('#main').ttwMusicPlayer(myPlaylist, { 
        autoPlay:false, 
        description:description, } 
        ); 

        }); 
        </script> 
<?php 
     } 
     else 
     { 
      echo ('No sounds found.'); 
     } 
    } 
?> 
+0

ありがとう、実際には私の問題を解決しませんでしたが、私は解決策に近づけました。最後に、ボタンの代わりに単に送信ボタンを使用しました。

2

あなたはPHPとHTMLを混在させていますが、それはあなたが望むように動作しません。 PHPコードはサーバ上で解釈され、htmlはユーザブラウザで「実行」されます。フォームを送信して、サーバーに値を渡すことができます。

送信ボタンを使用し

<input type="submit"> 

または

<input type="button" class="button" name="search" value="Urban" onlick="this.parentNode.submit();"> 
関連する問題