【问题标题】:Calling a php function when onchange fires from input当 onchange 从输入触发时调用 php 函数
【发布时间】:2014-04-07 17:22:00
【问题描述】:

您好,我有一个名为 result 的输入字段。当此输入发生变化时,我想调用一个函数。我试过这个:

<input onchange="maFonction" id="result" readonly="readonly" type="text" value="0" size = "10" /> 

并试图调用这个函数

<?php
function maFonction()
{

$a = 40 ;
if ($result > $a) {

     echo "trop dheure";
     } elseif ($result == $a) {
     ?>
                    <input onclick="s(this.form);" type="button" value="sauvegarder" /> 
        <?php
        } else {
    echo "moins de 40 heures a été effecuté";
}


}
?>

我做错了什么或者我错过了什么?

【问题讨论】:

  • 尝试使用 onchange="maFonction()" 之类的函数,使用 () 函数。
  • 您不能直接使用 DOM 事件调用 PHP 函数。 AJAX 调用在哪里?它看起来怎么样?
  • 没有任何变化没有消息出现。控制台上没有错误
  • 暂时没有 ajax 我知道 ajax 可以做到但不知道怎么用。
  • php已经结束工作...没有任何php函数...

标签: javascript php ajax function onchange


【解决方案1】:

如果你真的想使用 PHP,请调用 php 文件而不是函数。

您的表单

<form method="post" action="myfunc.php">
    <input type="text" name="myname">
    <input type="submit" value="click" name="submit">
</form>

您的 php 文件:myfunc.php

<?php
function display()
{
    echo "hello ".$_POST["myname"];
}
if(isset($_POST['submit']))
{
   display();
} 
?>

【讨论】:

  • 这不是按钮,这是我无法点击的输入。如果输入中的数字发生变化,我真的需要出现一条消息。
  • 知道如何使用表单调用 function() 是一个想法。从这里开始,您知道该怎么做以及如何做......
【解决方案2】:
<input onchange="maFonction()" id="result" readonly="readonly" type="text" value="0" size = "10" /> 

javascript

maFonction = function(){
$.post("yourFile.php");
}

还有你的 php

<?php

$a = 40 ;
if ($result > $a) {

     echo "trop dheure";
     } elseif ($result == $a) {
     ?>
                    <input onclick="s(this.form);" type="button" value="sauvegarder" /> 
        <?php
        } else {
    echo "moins de 40 heures a été effecuté";
}


}

?>

【讨论】:

  • 你为什么提出这个要求?你在哪里使用它的结果?
  • 我只是使用javascript从html调用他的php函数
  • 输入数字改变时消息不会改变
  • 输入的数字一开始不能改怎么改? readonly="readonly"@TheBaconManWithouBacon
  • 我有 8 个输入。一周内的每一天计算7,最后一个是结果。如果 sunday i 写 8 hours ,monday 5 hours .. 并且所有 7 个输入都被添加并转移到结果输入中。所以我已经使用 ajax 来计算结果,当我更改某一天数时自动重新计算结果示例:星期日 5、星期一 5、星期二 5、星期四 5、星期三 5、星期五 5、星期六 5 = 结果中的 25。如果我在结果中将星期一更改为 4,它们会重新计算并显示 24。所以我希望当数字更改时出现一条消息,如果低于 40 的上级 40
猜你喜欢
  • 2020-10-05
  • 1970-01-01
  • 2016-10-24
  • 2021-07-27
  • 2014-12-16
  • 1970-01-01
  • 2020-05-22
  • 2021-10-23
  • 1970-01-01
相关资源
最近更新 更多