2012-06-02 3 views
0

Мне нужно передать URL-адрес функции JavaScript, как показано ниже.Передача строки URL-адреса в функцию Javascript

<script type="text/javascript" language="javascript"> 

var xmlhttp=''; 
function ajax() 
{ 
    if(window.XMLHttpRequest) 
    { 
     xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    { 
     xmlhttp = new ActivexObject("Microsoft.XMLHTTP"); 
    } 
}  

function someFunction(orders_per_page, url) 
{ 
    ajax(); 
    var val=document.getElementById("txt_order_amount").value; 
    xmlhttp.onreadystatechange=function() 
    { 
      if(xmlhttp.readyState==4 && xmlhttp.status==200) 
      {     
       document.getElementById("list").innerHTML=xmlhttp.responseText; 
      } 
    } 

    xmlhttp.open("GET",url, true); 
    xmlhttp.send();   
} 
</script> 

<select 
    id="cmb_page" name="cmb_page" 
    onchange="someFunction(this.value, "reports/OrderAmount.php?val="+val+"&orders_per_page="+orders_per_page+"&pageNo="+getSelectedPage();"> 

    <option value="1">Some Value</option> 
</select> 

мне нужно передать строку URL, как указано на onchange даже в <select><option></option></select> элемента. Является ли это возможным?

+1

Возможно. И я не могу найти ошибки в вашей функции с первого взгляда. В чем проблема? Убедитесь, что ваши валы 'val' и' orders_per_page' определены, а также 'getSelectedPage()' возвращает допустимое значение. –

ответ

1

попробовать этот

onchange="someFunction(this.value, 'reports/OrderAmount.php?val='+val+'&orders_per_page='+orders_per_page+'&pageNo='+getSelectedPage());" 

Примечание: я заменил двойные кавычки одинарные кавычки

+0

Уже пробовал это. Это не работает. Internet Explorer сообщает только «* Синтаксическая ошибка. *» – Tiny

+0

работает, если эти переменные были установлены в нужном месте - я просто протестировал его. Проверьте мои комментарии ниже – codingbiz

1

Вы можете также сломать ваш код немного, чтобы предотвратить как можно больше тегов суп.

Я предполагаю, что ваш val вар определяется и в глобальном масштабе:

onchange="someFunction(this.value)" 

function someFunction(orders_per_page) { 
    var url = "reports/OrderAmount.php?val="+val+"&orders_per_page="+orders_per_page+"&pageNo="+getSelectedPage(); 
    ajax(); // ... rest of your function 

Убедитесь getSelectedPage() возвращается в string, или номер, который может быть проанализирован в виде строки.

+0

Нет Мне нужно передать этот URL из этой функции только «onchange =» someFunction (this.value) «' как еще один параметр. То, что вы упомянули, работает нормально. – Tiny

+0

В моем коде выше я определяю 'url' внутри самой функции. Я не знаю, где функция 'val' var или' getSelectedPage() 'или какие значения они имеют или возвращают, но мой пример выше будет в основном таким же, как ваш' url', определенный внутри HTML. Попробуйте и проверьте, будет ли еще синтаксическая ошибка :) –

+0

Или вы имеете в виду, что у вас есть другой вызов функции, проходящий совсем по-другому? Url? Я могу просмотреть код, если это так, но если ответ @tunmise fasipe не решит вашу проблему, скорее всего, будет что-то еще, нарушающее ваш код. –

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