Не эксперт по переключению языков при нажатии на форму Smarty нужна подсказка

0

мой текущий код - это, но он не сохраняет язык onclick

<form onsubmit="return false, saveDefaultLanguage('language-picker','default_language');" id="language-picker" action="{$base_url}">
      {foreach from=$set_optional_languages key=k item=v name="local"} <img src="{$base_url}resources/images/flags/{$v}.png" alt="{$v}" width="32" height="32" class="noborder" />
      <input type="radio" id="lang_{$smarty.foreach.local.index}" name="default_language" class="forminput" value="{$v}" {if $smarty.const.LOCAL_LANGUAGE==$v}checked="checked" onclick="saveDefaultLanguage('language-picker','default_language');" {/if} />
      <label for="lang_{$smarty.foreach.local.index}">{$set_installed_languages.$v}</label>
      {if ($smarty.foreach.local.index+1)%5 == 0}
      {/if}
      {/foreach}
      <div class="clear"></div>
      <input type="submit" class="button" name="" value="##DEFAULT_LANG_03##" onsubmit="lang_{$smarty.foreach.local.index};" />
      <div class="clear"></div>
    </form>

Мой предыдущий рабочий код, но в конфликте с jquery, был

<form name="language-picker" id="language-picker" action="{$base_url}" onsubmit="javascript:return false;">
  {foreach from=$set_optional_languages key=k item=v name="local"} <img src="{$base_url}resources/images/flags/{$v}.png" alt="{$v}" width="32" height="32" class="noborder" />
  <input type="radio" id="lang_{$smarty.foreach.local.index}" name="default_language" class="forminput" value="{$v}" {if $smarty.const.LOCAL_LANGUAGE==$v}checked="checked"{/if} onclick="javascript:saveDefaultLanguage('language-picker','default_language');" />
  <label for="lang_{$smarty.foreach.local.index}">{$set_installed_languages.$v}</label>
  {if ($smarty.foreach.local.index+1)%5 == 0}
  {/if}
  {/foreach}
  <input type="button" class="button" name="" value="##DEFAULT_LANG_03##" onclick="javascript:saveDefaultLanguage('language-picker','default_language');" />
</form>

Любой ключ будет оценен.

С уважением,

Gvilla.

Теги:
localization
smarty

1 ответ

0

Я думаю, что он не сохраняет язык onclick потому что вы помещаете его в smarty {if}, возможно, вы хотите сделать что-то вроде этого:

{if $smarty.const.LOCAL_LANGUAGE==$v} 
    checked="checked" 
{else}
    onclick="saveDefaultLanguage('language-picker','default_language');" 
{/if}

Кроме того, вы используете атрибут onsubmit в своем последнем <input>, но это допустимо только в <form>.

  • 0
    Спасибо Золтан! Я уже исправил с помощью JQuery без конфликта. Ура!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню