2017-02-05 12 views
0

Мне нужен hep на этом, я пытался передать динамический url функции.Как передать динамический url функции через onload

код

onload="getImage('+ val.logo +');" onclick="loadPageMerchantInfo('+ val.merchant_id +'); 

val.logo держит URL вроде этого: https://www.example.com/upload/default-food-image.png

я должен передать этот адрес в функцию ниже

function getImage(url) 
{ 
setStorage("merchant_logo",url); 
var logo = getStorage("merchant_logo"); 
onsenAlert(logo); 
return logo; 
} 

function loadPageMerchantInfo(str) 
{ 

var merlogos = getImage(); 
onsenAlert(merlogos); 
setStorage("merchant_id",str); 


var options = { 
    animation: 'none', 
    onTransitionEnd: function() {     
     displayMerchantLogo2( 
      merlogos, 
      '' , 
      'page-merchantinfo' 
    );     
     callAjax("getMerchantInfo","merchant_id="+ getStorage('merchant_id'));    
    } 
}; 
sNavigator.pushPage("merchantInfo.html", options);  
merhantPopOverMenu.hide(); 
} 

Итак, когда я напечатаю значение есть ничего, просто показывая «неопределенный».

+0

onload = "getImage ('+ val.logo +');" onclick = "loadPageMerchantInfo ('+ val.merchant_id +'); должно быть onload =" getImage (val.logo); "onclick =" loadPageMerchantInfo (val.merchant_id); потому что вы не можете вставлять такие строки в функции. –

+0

htm + = ' '; –

ответ

0

Внутри HTML:

onload="getImage(val.logo);"; 

Внутри ЯШ:

window.onload=()=>getImage(val.logo); 
window.onclick=()=>loadPageMerchantInfo(val.merchant_id); 

Вы можете посмотреть на функции со стрелками (нормальные также отлично) и закрытия.

Почему ваш код не работает:

window.onload="a string"; 
//the js engine does: 
window.onload(); 
//wich will cause an error: 
ERROR: window.onload is not a function! 

Если вы действительно хотите это плохо стилизованную струнную вещи, вы должны преобразовать строку в функцию:

onload=new Function("getImage("+ val.logo +");"); 
onclick=new Function("loadPageMerchantInfo("+ val.merchant_id +");"); 

Однако каждый JSlover будет убивать вы за это.

+0

Привет, Jonas, я использую API и \t htm + = ' '; без использования «+» я не могу получить значение. Используя приведенный выше код, я получаю значение + val.merchant_id +. но я не получаю значение + val.logo +, так как val.logo содержит URL-адрес. –

+0

@stalinstephen Я думаю, вы должны иметь более глубокий взгляд на js. мы уже дали вам необходимые ответы ... –

+0

брат, я понимаю вас .. Позвольте мне добавить: его приложение Phonegap –

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

  • Нет связанных вопросов^_^