通过单击按钮从javascript和php调用两个函数

时间:2015-06-05 09:16:42

标签: javascript php html forms function


我有一个小问题:我有两个函数,一个用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>';
    }
}
?>

不要照顾法国人的评论,这是为了一个校长。

2 个答案:

答案 0 :(得分:1)

是否可以从echo语句中删除<script>标记并再次尝试.. 你还需要在下一个声明中使用单引号

<script>document.getElementById("date_format_admin").style.display="";</script>

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

<button class="btn btn-default" id="change_formulaire" onclick="switch_tab1();

document.getElementById('date_format_admin').style.display=''" data-toggle="tab">Valider</button>

答案 1 :(得分:0)

如果你想执行PHP函数你必须将数据发送到服务器.. PHP函数将不会在用户浏览器上执行所以 switch_tab1()将无法正常工作,您可以通过Verif_date_admin()函数中的ajax请求执行PHP函数,并从按钮单击事件中删除PHP函数class Category extends \Model { protected $table = 'categories'; public function movies() { return $this->belongsToMany('Your\Namespace\To\Movie'); } }