用jQuery更新跨度,用PHP获取?

莫滕·豪格

我有一个jQuery脚本,当用户单击不同的按钮时会更新跨度。它会根据需要更新并显示。但是我想用PHP提取此“变量”并将其输入文件中。当文档加载时,跨度的值为0,并且随着用户单击特定按钮而变得更高。当我将范围值写入文本文件时,它始终为0。

jQuery的:

$(".button").click(function()
{   
    $(this).addClass("button-clicked");

    $(this).siblings(".button").addClass("disabled");

    $(this).siblings(".rett").addClass("rett-ved-feil");

    $(this).unbind("click");
    $(this).siblings(".button").unbind("click");

    if($(this).hasClass("rett"))
    {
        rettVar++;

        $("#antall-rett").html(rettVar);
        $("#score").html(rettVar);

        $(this).addClass("button-clicked-riktig");
    }

});

PHP:

if (isset($_POST["submit"]))
    {
        $doc = new DOMDocument; 
        $doc->loadHTMLFile('index.php'); 
        $node = $doc->getElementById('score'); 

        $score = $node->nodeValue;

        $fil = fopen("score.txt","a");

        $loglinje =  $_POST["navn"] . ": " . $score;

        fwrite ($fil, $loglinje . "\n");
        fclose($fil);
    }

HTML:

<!doctype html>

<title>Huskampanje Quiz</title>

<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="mediaqueries.css">

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">   

<script src="js/jquery-1.11.2.js" type="text/javascript"></script>
<script src="js/myjs.js" type="text/javascript"></script>
<script src="js/scrollToggle.js" type="text/javascript"></script>

<section class="section" id="intro">

    <div class="content">

        <h1>Huskampanje quiz<br /><span class="handsome">Ta quizen her</span></h1>

    </div>

    <a href="#brannskader-section"><img src="img/pil.png" id="pil" /></a>

</section>
<section class="section" id="håndverker-section">

    <div class="content">

        <p>

            Når det gis et prisoverslag på en håndverkertejeneste kan endelig pris maks overstige..

        </p>

        <span class="button">5%</span>
        <span class="button">10%</span>
        <span class="button rett">15%</span>
        <span class="button">20%</span>

        <span class="steps">4/10</span>

    </div>

</section>
<section class="section" id="naturskade-section">

    <div class="content">

        <p>

            Ved påsketider har snøen ligget en stund på hyttetak, og oppnår høyere egenvekt enn når den er fersk. Om vi har et 
            hyttetak på 100 kvadratmeter og snødybden er 1 meter vil vekten av snøen være omlag..

        </p>

        <span class="button rett">30 tonn</span>
        <span class="button">10 tonn</span>
        <span class="button">5 tonn</span>
        <span class="button">20 tonn</span>

        <span class="steps">10/10</span>

    </div>

</section>  
<ul id="sticky">

    <li id="header-sticky">Antall rett</li>

    <li id="antall-rett">0</li>

</ul>
<section id="resultat">

    <div class="content" id="resultat-content">

        <div class="score">

            <span id="score">0</span>

            <form action="index.php" method="post">

                <input type="text" name="navn">
                <input type="submit" name="submit">

            </form>
            <?php



    if (isset($_POST["submit"]))
    {
        $doc = new DOMDocument; 
        $doc->loadHTMLFile('index.php'); 
        $node = $doc->getElementById('score'); 

        $score = $node->nodeValue;

        $fil = fopen("score.txt","a");

        $loglinje =  $_POST["navn"] . ": " . $score;

        fwrite ($fil, $loglinje . "\n");
        fclose($fil);
    }

?>
        </div>

    </div>

</section>

赞德

正如他们告诉您的那样,JavaScript是客户端,而PHP是服务器端。

这意味着客户端发生了什么事情,呆在那里并且服务器根本不在乎。如果要使用该值更新文件,则有两种方法可以执行此操作。

1.AJAX,将值异步发送到php文件,然后将所需的值写入文件/数据库...

2.制作表格并检索数据并将其保存在所需的位置。为此,例如,使隐藏的输入每次单击都会增加。

编辑:对于数字2,如果有多个页面,则可以隐藏带有名称的输入,例如:“ right_answers”

<form>
    ...
    <!-- first page -->
    <input type="hidden" name="right_answers" value="0">
    ...
</form>

然后在下一页的开头,检查答案是否正确:

<?php
    if($_POST['question'] == "answer") {
        $goodAnswer = $_POST['right_answers']+1;
    }
    else {
        $goodAnswer = $_POST['right_answer'];
    }
?>
<form>
    ...
    <input type="hidden" name="right_answers" value="<?php echo $goodAnswers; ?>">
    ...
</form>

这样,您将始终知道用户做出的正确答案。这只是一个想法,请确保有更好的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章