2015-09-25 2 views
2

Фактически я написал фрагмент кода для обнаружения геолокации и на основе этой геолокации валюта изменится, и она тоже работает, но здесь проблема снова и снова заключается в том, что часть кода обновляет всю страницу, и если я удалю эту часть, страница обновляется, если я держать что-то условие не работает, может ли один предложить мне, как остановить, что это то, что я написалКак остановить обновление страницы?

<script type="text/javascript"> 
    //alert("Welcome to our visitors from "+geoplugin_currencyCode()); 
    alert("Welcome to our visitors from "+geoplugin_countryName()); 

    $flag=false; 
    if($flag===false) { 
     var country = geoplugin_countryName(); 

     if(country === 'India') { 
      $('#currency input[name=\'code\']').attr('value', 'INR'); 
      $('#currency').submit(); 
      alert('Your currency is set to INR'); 
     } else { 
      $('#currency input[name=\'code\']').attr('value', 'USD'); 
      $("#currency").change(); 
      alert('Your currency is set to USD'); 
     } 
    } else { 
     return false; 
    } 
</script> 
+0

Я попытался использовать ваш код - и мой peage не перезагружается автоматически. Какой код обновляет вашу страницу? – Erminesoft

+0

убрал эту часть, если не удалил ее, и попробуйте на моей странице ее перезагрузить iam, используя ее в opencart – martin

+0

У вас есть несколько других ... Я предполагаю, что вы имеете в виду else, содержащее 'return false', верный? –

ответ

1

Попробуйте

$(function(){ 
    alert("Welcome to our visitors from "+geoplugin_countryName()); 
    $flag=false; 
    if($flag===false){ 
     var country = geoplugin_countryName(); 
     if(country === "India"){ 
      $("#currency input[name=\'code\']").attr("value", "INR"); 
      $("#currency").submit(); 
      alert("Your currency is set to INR"); 
      return false; 
     } else{ 
      $("#currency input[name=\'code\']").attr("value", "USD"); 
      $("#currency").change(); 
      alert("Your currency is set to USD"); 
      return false; 
     } 
    } else{ 
     return false; 
    } 
    }); 
+0

не по-прежнему его перезагрузка для mee – martin

+0

Можете ли вы сказать - какое значение имеет переменная «страна» в вашем коде? – Erminesoft

+0

На самом деле это плагин, который я использовал для получения названия страны martin

0

ваши коды хорошо, но вы должны обращаться с ним по-другому. Прежде всего, когда загружается страница, скажем, вы получили страну как India. Итак, теперь переходите к if(country === "India"){ кодам, где он выполняется $("#currency").submit(); и отправьте форму. Итак, как только форма отправлена, вы должны установить значение INR, которое может находиться в скрытом поле. А затем вы можете добавить строку кода, чтобы проверить, имеет ли скрытое поле значение INR или нет. Если он имеет значение INR, тогда не выполняйте коды.

Скажем, у вас есть скрытое поле с идентификатором currency_code. Итак, теперь после формы отправьте любое значение, которое вы отправили с $("#currency input[name=\'code\']"), просто установите это значение в поле ввода #currency_code.

Теперь проверьте это состояние в своих кодах.

<script type="text/javascript"> 
    //alert("Welcome to our visitors from "+geoplugin_currencyCode()); 
    alert("Welcome to our visitors from "+geoplugin_countryName()); 

    $flag=false; 
    if($flag===false) { 
     var country = geoplugin_countryName(); 

     if(country === 'India') { 
      if($('#currency_code') !== 'INR') { 
       $('#currency input[name=\'code\']').attr('value', 'INR'); 
       $('#currency').submit(); 
       alert('Your currency is set to INR'); 
      } else { 
       alert('Your currency is already set to INR'); 
      } 
     } else { 
      $('#currency input[name=\'code\']').attr('value', 'USD'); 
      $("#currency").change(); 
      alert('Your currency is set to USD'); 
     } 
    } else { 
     return false; 
    } 
</script> 

Я не уверен обо всех ваших кодах HTML. Но это так, как вы можете справиться с вашей проблемой. Надеюсь, что это поможет вам.

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