【问题标题】:Combine two form elements with JS and non-JS backup结合两个表单元素与 JS 和非 JS 备份
【发布时间】:2013-04-15 09:58:40
【问题描述】:

所以我打算用 jQuery 将两个表单输入字段组合在一起:

//onSubmit of form
//$('#element').val(element1 + element2);

即使没有启用 JS,如何组合这两个字段/提交正确的值?

我可以用吗

<noscript> 

以某种方式标记来实现这一点?

服务器端逻辑不是一个选项。不幸的是,它必须在前端。

这是一个电话字段,例如:

Phone:  <select name="countrycode">
<option value="44" selected>UK (+44)</option> 
<option value="1">USA (+1)</option> 
<option value="213">Algeria (+213)</option> 
<option value="376">Andorra (+376)</option> 
</select>
<input type="text" name="phone_number" id="phone_number"/>

【问题讨论】:

    标签: javascript html noscript


    【解决方案1】:

    如果 JavaScript 未启用,您可以在服务器端组合它们。

    如果不启用 JavaScript,则无法执行此操作,如果它们是不同的字段,则需要脚本来获取它们的值并将它们连接起来。

    【讨论】:

    • 不幸的是,我被允许更改的内容受到限制,所以它必须是前端。
    • 如果没有启用 JavaScript,您将无法执行此操作,如果它们是不同的字段,您需要脚本来获取它们的值并将它们连接起来。
    【解决方案2】:

    如果没有 JS,我要说的第一个建议就是过去会如何做到这一点。

    一种方法至少涉及您网站上的 2 个页面。一个页面会填满国家,用户将选择一个。单击一个会将浏览器重定向到一个页面,该页面的电话号码输入预填充了上一页中选择的国家/地区的国家/地区代码。这将部分涉及服务器,只是为了预填充输入。

    另一个建议是列出区号,并在您的输入中预先填写格式。对于较新的浏览器,可以使用placeholder 属性来提供一种格式。这样,用户就知道如何编写它了。该区号列表可能隐藏在 &lt;noscript&gt; 元素中。


    PS:如您所知,世界上 95% 的浏览器都启用了 JavaScript。另外 5% 是功能手机浏览器、网络爬虫和禁用 JS 或使用脚本拦截器禁用某些分析工具的偏执狂的人。你不应该为他们开发。相反,请关注 95% 使用 JS 的人。

    【讨论】:

      猜你喜欢
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      相关资源
      最近更新 更多