You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PrestaShop插件按钮语言强制问题:移动端文本自动变更为Submit

PrestaShop插件按钮文本被替换的解决方法

问题原因

你使用<input type="submit">的value属性设置按钮文本,部分移动端浏览器、PrestaShop主题的JS逻辑或国际化插件可能会自动替换这个值,导致按钮显示成默认的“Submit”。

解决方法

1. 改用<button>标签(最推荐)

<button>标签的文本直接写在标签内部,不受value属性限制,能避免被轻易替换:

<div>
    <button style="border: none; border-radius: 0; background-color: #9dc233;" 
            type="submit" 
            class="btn btn-primary" 
            name="tracking-btn">
        Enviar
    </button>
</div>

2. 强制禁用浏览器自动替换

给按钮添加autocomplete="off"属性,阻止浏览器默认的表单元素文本替换:

<div>
    <input style="border: none; border-radius:0; background-color: #9dc233;" 
           value="Enviar" 
           type="Submit" 
           class="btn btn-primary" 
           name="tracking-btn"
           autocomplete="off">
</div>

3. 排查并覆盖动态修改的JS

检查主题或其他插件的JavaScript代码,看是否有监听表单事件并修改按钮文本的逻辑。如果存在,可以在插件中添加JS代码强制设置文本:

// 页面加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
    const trackingBtn = document.querySelector('input[name="tracking-btn"]');
    if (trackingBtn) {
        trackingBtn.value = "Enviar";
    }
});

4. 适配PrestaShop语言系统(多语言场景)

如果需要支持多语言,使用PrestaShop的语言变量输出文本,更符合框架规范:

  • 在插件的语言文件(如translations/es/es.php)中添加变量:
$_LANG['MY_TRACKING_BTN_TEXT'] = 'Enviar';
  • 在模板中调用该变量:
<div>
    <input style="border: none; border-radius:0; background-color: #9dc233;" 
           value="{$smarty.const._LANG.MY_TRACKING_BTN_TEXT}" 
           type="Submit" 
           class="btn btn-primary" 
           name="tracking-btn">
</div>

内容的提问来源于stack exchange,提问作者Motias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 18:57:43