2017-02-22 4 views
3

У меня есть страница с именем beslutning.php со случайным генератором, за которым следует случай переключения.Как выполнить флеш-ключ с ajax onclick и распечатать результат в теге H?

Эта страница входит в индексном файле, как так:

<h1 class="cover-heading">Vores beslutning: <?php include "beslutning.php" ?></h1> 

На странице загрузки он запускает скрипт, соответствует случай, и эхо из результата, как это предполагалось.

Вот что мне нужно

кнопку на странице индекса, когда нажимали просит beslutning.php чтобы быть запущен снова, так что я получить новый результат.

Все мои поиски на такие фразы, как исполняют PHP скрипт с AJAX, запустить скрипт с AJAX OnClick и куча других альтернатив привела меня ни к какому результату.

Я пытался возиться с блоками кодов, как показано ниже, но не повезло.

<script> 
$(document).ready(function(){ 
    $("#NyBeslutning").click(function() { 
     $.ajax({ 
      type: "POST", 
      url: "beslutning.php", //Your required php page 
      data: "$beslutning", //pass your required data here 
      success: function(response){ 
       $('$beslutning').html(response); 
      } 
     }); 
    return false; 
    }); 
</script> 

<a id="NyBeslutning" class="btn btn-lg btn-default" type="button" onClick="$beslutning()">Ny beslutning</a> 

Вот как мой beslutning.php выглядит следующим образом:

<?php 
$beslutning = mt_rand(0, 1000); 

switch($beslutning) 
{ 
case 1: 
    echo "something"; 
    break; 

case 2: 
    echo "something"; 
    break; 
?> 

Кто-то, кто может помочь? Объясните это мне, как будто я ребенок :)

Заранее спасибо.

+0

Просто подсказка. Вы не можете выполнить PHP с помощью Javascript, It'is JUST IMPOSSIBLE –

+0

Я предполагаю, что это упомянуто из-за тегов javascript (вероятно, jQuery).Я пошел на предложения по этому поводу, но определенно приятно знать, так или иначе, спасибо :) – JJFDK

+0

Это должно помочь вам лучше отслеживать проблему: http://stackoverflow.com/a/21617685/2191572 – MonkeyZeus

ответ

2

Вы близко, но у вас есть некоторые большие проблемы с кодом jQuery. Попытайтесь прочитать документацию для этих вещей перед их использованием!

Вы не отправляете никаких данных, поэтому не нуждайтесь в POST и можете просто сделать a simple GET request. В вашей функции успеха вы ссылались на $('$beslutning'), что не имеет ничего общего. Вместо этого вы хотите refer to your H1 element. И вы забыли закрыть фигурные скобки вокруг некоторого кода.

На стороне HTML вам не нужен атрибут onclick, так как вы уже объявляете click listener в скрипте. Попробуйте, и если это не сработает, проверьте консоль ошибок вашего браузера.

<script> 
$(document).ready(function(){ 
    $("#NyBeslutning").click(function() { 
     $.get("beslutning.php", function(response) { 
      $('h1.cover-heading').html(response); 
     }); 
    }); 
}); 
</script> 

<h1 class="cover-heading">Vores beslutning: <?php include "beslutning.php" ?></h1> 
<button id="NyBeslutning" class="btn btn-lg btn-default">Ny beslutning</button> 
+1

Удивительный мужчина! Это сделало трюк, спасибо: D Я ноу-хау мирового класса с jQuery, а не то, что это подходящее оправдание. – JJFDK

+0

Нет проблем, просто продолжайте читать и учиться! Убедитесь, что вы понимаете, как работают селекторы jQuery, они важны, если вы работаете с этой инфраструктурой. – miken32

-1

Вы можете просто передать параметр при нажатии что-то в index.php

<button onmousedown=someFunction()>Click ME</button> 
<script> 
    someFunction(){ 
    set href value here based on your condition example one,two, three 
    window.location = localhost/main.php?switchVariable = one; 
} 
</script> 

в main.php

<h1 class="cover-heading">Vores beslutning: <?php include "beslutning.php" </h1> 

записи в beslutning.php файле написать этот

<?php 

$beslutning= $_GET['switchVariable ']; 
switch($beslutning) 
{ 
case one: 
echo something; 
break; 

case two: 
echo something; 
break; 

?>

Смежные вопросы