php

时间:2015-12-15 03:52:26

标签: javascript php

我有一个检查/搜索数据的网站。如果我们没有填写表格,然后点击按钮搜索,会出现一个弹出菜单,上面写着“选择数据”。但是,当我们没有填写表单时,会发生什么,单击按钮搜索,弹出菜单未显示。这是我的代码:

<script type="text/javascript">

function EW_checkMyForm4(EW_this) {
    <?php
    if($_SESSION[dataname]==""){
    ?>
    if ( EW_hasValue(EW_this.x_data_names, "TEXT" ) && EW_hasValue(EW_this.x_sid_app_status, "SELECT" ) || EW_hasValue(EW_this.x_cust_name, "TEXT" ) || EW_hasValue(EW_this.x_id_card_no, "TEXT" ) || EW_hasValue(EW_this.x_initiation_date, "TEXT" ) || EW_hasValue(EW_this.x_Tanggal_Inisiasi_ke, "TEXT" ) || EW_hasValue(EW_this.x_cust_birthdate, "TEXT" ) || EW_hasValue(EW_this.x_engine_no, "TEXT" ) || EW_hasValue(EW_this.x_chassis_no, "TEXT" )) {

            return true;
    }else{

        if(!EW_hasValue(EW_this.x_data_names, "TEXT" )){
            alert('choose data !');
        } else {
            return true;
        }

        return false;
    }
}
<?php }else{ ?>
if ( EW_hasValue(EW_this.x_sid_app_status, "SELECT" ) || EW_hasValue(EW_this.x_cust_name, "TEXT" ) || EW_hasValue(EW_this.x_id_card_no, "TEXT" ) || EW_hasValue(EW_this.x_initiation_date, "TEXT" ) || EW_hasValue(EW_this.x_Tanggal_Inisiasi_ke, "TEXT" ) || EW_hasValue(EW_this.x_cust_birthdate, "TEXT" ) || EW_hasValue(EW_this.x_engine_no, "TEXT" ) || EW_hasValue(EW_this.x_chassis_no, "TEXT" )) {
    return true;
}else{

    alert('fill at least one !');

    return false;
}
<?php } ?>

</script>

我正在使用php 5.5.30。你能帮我解决我的问题吗?在此之前谢谢..

4 个答案:

答案 0 :(得分:0)

我认为你错过了PHP代码的else部分javascript代码的结束括号。它是应该结束EW_checkMyForm4功能的那个。

答案 1 :(得分:0)

根据您配置的错误报告级别,这个:

if($_SESSION[dataname]==""){...

可能会生成如下错误消息并破坏您的代码:

<b>Notice</b>:  Use of undefined constant dataname - assumed 'dataname'

尝试在索引周围添加引号:

if($_SESSION['dataname']==""){...

答案 2 :(得分:0)

试试这个:

<script type="text/javascript">

var dataname = '<?php echo $_SESSION[dataname]; ?>';

function EW_checkMyForm4(EW_this) {
    if (!dataname) {
        if ( EW_hasValue(EW_this.x_data_names, "TEXT" ) && EW_hasValue(EW_this.x_sid_app_status, "SELECT" ) || EW_hasValue(EW_this.x_cust_name, "TEXT" ) || EW_hasValue(EW_this.x_id_card_no, "TEXT" ) || EW_hasValue(EW_this.x_initiation_date, "TEXT" ) || EW_hasValue(EW_this.x_Tanggal_Inisiasi_ke, "TEXT" ) || EW_hasValue(EW_this.x_cust_birthdate, "TEXT" ) || EW_hasValue(EW_this.x_engine_no, "TEXT" ) || EW_hasValue(EW_this.x_chassis_no, "TEXT" )) {

                return true;
        
        }else{

            if(!EW_hasValue(EW_this.x_data_names, "TEXT" )){
                alert('choose data !');
            } else {
                return true;
            }

            return false;
        }
    }
    else
        if ( EW_hasValue(EW_this.x_sid_app_status, "SELECT" ) || EW_hasValue(EW_this.x_cust_name, "TEXT" ) || EW_hasValue(EW_this.x_id_card_no, "TEXT" ) || EW_hasValue(EW_this.x_initiation_date, "TEXT" ) || EW_hasValue(EW_this.x_Tanggal_Inisiasi_ke, "TEXT" ) || EW_hasValue(EW_this.x_cust_birthdate, "TEXT" ) || EW_hasValue(EW_this.x_engine_no, "TEXT" ) || EW_hasValue(EW_this.x_chassis_no, "TEXT" )) {
            return true;
        }else{

            alert('fill at least one !');

            return false;
        }
}
</script>

答案 3 :(得分:0)

您需要将条件的第二部分与另一个括号分开。像这样:

if ( EW_hasValue(EW_this.x_data_names, "TEXT" ) && (EW_hasValue(EW_this.x_sid_app_status, "SELECT" ) || EW_hasValue(EW_this.x_cust_name, "TEXT" ) || EW_hasValue(EW_this.x_id_card_no, "TEXT" ) || EW_hasValue(EW_this.x_initiation_date, "TEXT" ) || EW_hasValue(EW_this.x_Tanggal_Inisiasi_ke, "TEXT" ) || EW_hasValue(EW_this.x_cust_birthdate, "TEXT" ) || EW_hasValue(EW_this.x_engine_no, "TEXT" ) || EW_hasValue(EW_this.x_chassis_no, "TEXT" ))) {

<强>原因

如果你没有括号,你的条件EW_hasValue(EW_this.x_data_names, "TEXT" ) && EW_hasValue(EW_this.x_sid_app_status, "SELECT" )将首先被评估,无论你返回什么,你都有||运算符的所有其他条件。这意味着如果任何右侧条件返回TRUE,则您的总条件表达式将返回true。

另一个问题我可以在您的代码中看到,这可能与此问题无关,但它应该在其他方案中产生问题。你在js函数EW_checkMyForm4

中有这部分php代码
function EW_checkMyForm4(EW_this) {
<?php
if($_SESSION['dataname']==""){
?>

但是支架在js功能之外是关闭的。所以,我认为你应该将这部分移到函数EW_checkMyForm4之上,如下所示:

<?php
if($_SESSION['dataname']==""){
?>
function EW_checkMyForm4(EW_this) {