JavaScript-эквивалент этого простого php - PullRequest
1 голос
/ 06 февраля 2010

пожалуйста, может кто-нибудь сообщить мне, как сделать следующий PHP в JavaScript. Возможные варианты в PHP - это параметры в Javascript. Если установлены все три параметра, то я бы хотел, чтобы PHP-скрипт выполнялся:

<?php     
if isset($nation,$service,$slider)
    {
//execute php script
    }       
?>

Спасибо за внимание и, возможно, за помощь!

Чтобы устранить путаницу, я требую, чтобы весь приведенный выше PHP был преобразован в эквивалент JavaScript.

Вдобавок ко всему, я хотел бы выполнить PHP-скрипт в JavaScript, если установлены все 3 параметра.

Ответы [ 4 ]

3 голосов
/ 06 февраля 2010

Предполагая, что ни одна из ваших переменных не имеет нулевого или нулевого значения, например, если они все строки, самый короткий способ написать проверку переменных - просто использовать их:

function blah (nation, service, slider)
{
    if (nation && service && slider)
    {
        // do something...
    }
}

Если какой-либо из этих переменных имеет значение 0, ложь или ноль, когда установлено, то это не будет правильным методом. Если вам нужен эквивалент функции isset, вы можете использовать это:

function isset()
{
    for (var i=0, l=arguments.length; i < l; i++)
    {
        if (typeof arguments[i] == "undefined" || typeof arguments[i] == "null")
            return false;
    }
    return true;
}

Используйте его так же, как и функцию php, например isset(nation,service,slider);

1 голос
/ 06 февраля 2010

Проверьте замечательные вещи phpjs.org . Это порт функций PHP в JavaScript .

Функция isset () :

function isset () {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: FremyCompany
    // +   improved by: Onno Marsman
    // *     example 1: isset( undefined, true);
    // *     returns 1: false
    // *     example 2: isset( 'Kevin van Zonneveld' );
    // *     returns 2: true

    var a=arguments, l=a.length, i=0;

    if (l===0) {
        throw new Error('Empty isset'); 
    }

    while (i!==l) {
        if (typeof(a[i])=='undefined' || a[i]===null) { 
            return false; 
        } else { 
            i++; 
        }
    }
    return true;
}

Использование:

allVarsAvailable = isset(nation,service,slider);
0 голосов
/ 06 февраля 2010

Не проверял, но выглядит правильно:

function isset(variable_name){
  return(typeof(window[variable_name])!='undefined');
}

Обратите внимание, что variable_name не является самой переменной, но ее именем

0 голосов
/ 06 февраля 2010

Насколько я понимаю, вы пытаетесь сделать AJAX звонок. Если бы вы использовали фреймворк, такой как jQuery , код был бы что-то вроде:

if ((typeof nation != 'undefined') && (typeof service != 'undefined') && (typeof slider != 'undefined')) {
    $.get("<your script>", function(data){
         alert("Data Received: " + data);
    });
}

Если это не то, что вы ищете, перефразируйте ваш вопрос.

...