2015-05-11 7 views
0

Я пытаюсь создать код, который будет показывать текст, только если в URL указано слово obyn.Ищите строку в URL-адресе, используя test и location.href

 <p id="p1">Hello World!</p> 

     <script> 
    function myFunction() { 
     var str = self.location.href; 
     var patt = new RegExp("obyn"); 
     var res = patt.test(str); 
     return res; 
    } 

    if(myFunction()){ 
     document.getElementById("p1").innerHTML = "New text!"; 
     else{ 
     document.getElementById("p1").innerHTML = "Text 2"; 
     } 
    </script> 

EDIT: После внесения изменений, как это предлагается ниже, она по-прежнему не работает. Он всегда показывает «Hello World!».

+3

это мне, или вы пытаетесь для преобразования приложений функции Javascript с командой PHP? – Gerton

+1

Вы знаете, что вы не можете получить результат функции javascript myFunction() в PHP (без чего-то вроде ajax), не так ли? – Blaatpraat

+0

Кроме того, 'myFunction == true' проверяет, истинна ли функция. Что это - функция существует. Используйте myfunction(), чтобы проверить результат этой функции. – xiix

ответ

2

Вы не можете выполнить вашу функцию Javascript из PHP,

Решение здесь, чтобы делать то, что вы хотите только с Javascript. (Вы можете добавить «Этот текст» или «Нет», как вы это делали в PHP, но с DOM или JQuery)

вы должны добавить эту строку в конце вашей функции:

return res; // возвращает истину или ложные

, то вы можете просто проверить его, как

if(myFunction()){ 
    var node = document.createElement("A");//This creates something like "<a> </a>     
    var textnode = document.createTextNode("This text"); //This creates a text  
    node.appendChild(textnode);//Then it appends your text to the div so "<a>This text</a>"  
    document.getElementById("myDiv").appendChild(node); //Then you can append it to your div "<div id="myDiv> </div> like this 
} 
else{ 
    //try to do the same job for "Nope" to understand the code I just gave you :) 
} 
+0

Не могли бы вы показать мне пример кода? Не знаком с ними вообще. – Stefan

+0

, пожалуйста, не обижайся, но, если вы не знакомы, начните с основ. – Saif

+0

Я только что добавил код, чтобы вы начали, также вы должны прочитать некоторые о DOM и JQuery, хорошо провести день – Daniel

Смежные вопросы