【问题标题】:Call two functions from javascript and php by clicking button通过单击按钮从 javascript 和 php 调用两个函数
【发布时间】:2015-08-20 04:22:51
【问题描述】:


我有一个小问题:我有两个函数,一个在 PHP 中验证日期,另一个在 javascript 中作用于 div 属性。我想通过单击按钮给他们两个打电话,但我不能...
我肯定需要一些帮助。
这是我的代码:

js

function switch_tab1()
{
    if(document.getElementById("radio_mater_oui").checked==true && (document.getElementById("debut_mater").value == "" || document.getElementById("fin_mater").value == ""))
    {
        document.getElementById("erreur_champs_admin").style.display="";
    }
    else
    {
        tab1_tab2();
    }
}

html 按钮

<button class="btn btn-default" id="change_formulaire" onclick="switch_tab1();<?php Verif_date_admin(); ?>" data-toggle="tab">Valider</button>

php

<?php
function Verif_date_admin()
{
    if(strlen($_SESSION["debut_mater"]) == 10 && strlen($_SESSION["fin_mater"]) == 10)
    {
        // Division des chaînes dans 3 variables chacune afin de reconstituer une chaîne
        // valide pour l'insertion dans la base de données au format anglais
        list($debut_jour,$debut_mois,$debut_annee) = explode('-',$_POST["debut_mater"]);
        list($fin_jour,$fin_mois,$fin_annee) = explode('-',$_POST["fin_mater"]);
        $debut_mater_valide = checkdate($debut_mois,$debut_jour,$debut_annee);
        $fin_mater_valide = checkdate($fin_mois,$fin_jour,$fin_annee);
        // Test de validité des booléens assignés
        if($debut_mater_valide != 1 || $fin_mater_valide != 1)
        {
            echo '<script>document.getElementById("date_format_admin").style.display="";</script>';
        }
        else
        {
            $debut_mater = $debut_annee.'-'.$debut_mois.'-'.$debut_jour;
            $fin_mater = $fin_annee.'-'.$fin_mois.'-'.$fin_jour;
        }
    }
    else
    {
        echo '<script>document.getElementById("date_format_admin").style.display="";</script>';
    }
}
?>

不要照顾法国的cmets,这是为了校长。

【问题讨论】:

    标签: javascript php html forms function


    【解决方案1】:

    能否请您从 echo 语句中删除 &lt;script&gt; 标记,然后再试一次。 您还需要在下一条语句中使用单引号

    &lt;script&gt;document.getElementById("date_format_admin").style.display="";&lt;/script&gt;

    当它呈现在 html 中时,它应该像

    <button class="btn btn-default" id="change_formulaire" onclick="switch_tab1();
    
    document.getElementById('date_format_admin').style.display=''" data-toggle="tab">Valider</button>
    

    【讨论】:

      【解决方案2】:

      如果你想执行 PHP 函数,你必须将数据发送到服务器。PHP 函数不会在用户浏览器上执行,所以 <button class="btn btn-default" id="change_formulaire" onclick="switch_tab1();<?php Verif_date_admin(); ?>" data-toggle="tab">Valider</button> 将不起作用,而是通过 switch_tab1() 函数中的 ajax 请求执行 PHP 函数,并从按钮单击事件中删除 PHP 函数 Verif_date_admin()

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-01
      • 1970-01-01
      • 2014-11-01
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-03
      相关资源
      最近更新 更多