每次从文本框提交值时,我都会尝试更改HTML标签的值,但出于某种原因,当我提交数字时,没有任何更改。这是HTML片段:
<div>
<form style="margin-left: 30%; margin-right: 30%; margin-bottom:5%">
Score:
<input type="number" name="score"><br>
<input type="submit" name="Submit" class="btn btn-primary" action="calcScore">
<input type="submit" name="Cancel" class="btn btn-primary" value="Cancel">
</form>
<span>
<label class="scorePlate"><?php echo $player1Score?></label>
<label class="scorePlate"><?php echo $player2Score?></label>
</span>
和PHP函数:
function calcScore()
{
$playerThrow = $_GET["score"];
$player1Score = $playerThrow;
}
当我提交号码时,有人可以解释为什么它不会改变任何内容吗?
答案 0 :(得分:1)
您在提交的输入标记中使用了来自属性的错误。更改以下行
<input type="submit" name="Submit" class="btn btn-primary" action="calcScore">
带
<input type="submit" name="Submit" class="btn btn-primary" formaction="calcScore">
形成有关输入格式属性的更多详细信息:http://www.w3schools.com/tags/att_input_formaction.asp
在当前代码中,在表单提交时,它找不到操作,结果您看不到输出。
答案 1 :(得分:1)
如果你直接从页面调用calcScore()
,而不是外部文件,那么你需要像这样调用它:
<input type="submit" name="Submit" class="btn btn-primary" action="calcScore()">
如果您从外部文件调用它,您可能需要在文件中调用该函数,如下所示:
function calcScore()
{
$playerThrow = $_GET["score"];
$player1Score = $playerThrow;
}
calcScore();
答案 2 :(得分:0)
如果您的网址位于以下网址:site.com?player1 = 12&amp; player2 = 15 然后我们可以按照以下代码执行此操作:
function calcScore($score)
{
$playerThrow = $_GET[$score];
return $playerThrow;
}
<label class="scorePlate"><?php echo calcScore(player1) ?></label>
<label class="scorePlate"><?php echo calcScore(player2) ?></label>
这可能与您的网址设置完全不同,但会显示您需要如何进行操作。你需要从函数返回值(或者根本不使用函数,因此可以访问$ playerThrow)