【发布时间】:2017-06-14 03:03:36
【问题描述】:
我已经安装了插件,它可以正确显示国家并且工作正常,但是当我提交输入类型为“tel”的表单时,表单没有提交国家代码,我不知道这是如何工作的,但我确实阅读了https://github.com/jackocnr/intl-tel-input 页面中的所有说明,但我不明白如何将完整的数字+代码国家放在一起,以便将它们插入 MySQL 数据库。
我是初学者,只是对如何让它正常工作感到困惑。 对不起,如果问题不是那么难,但我真的不知道这是怎么回事。
我拥有的 jQuery 代码:-
$("#telephone").intlTelInput({
initialCountry: "sd",
separateDialCode: true
});
【问题讨论】:
-
熟悉浏览器的 javascript 调试器(通常为 F12)。然后阅读github上的文档并玩一下
-
当你得到号码时,把它放在你的表单中的一个 字段中,如果你喜欢,也可以是一个隐藏的。然后它会在您提交时发送到脚本
-
刚刚去看了 github 演示,如果为您生成的 HTML 是相同的,那么可能像
$(".country[class*='active']").attr("data-dial-code")这样的东西应该会为您提供所选国家的拨号代码。然后,您必须使用 submit 手动传递该变量。或者在字符串前面附加这里获得的值到要发送到 PHP 的电话号码。 -
好吧,老实说,这只是一个快速修复,可能不是很优雅或理想。我不知道你的表单是如何提交的,所以不能说太多。但是,它的作用是:只要将焦点从字段中移开,它就会在电话号码值之前附加国家代码:
$("#telephone").on("blur", function(){ $(this).val("+" + $(".country[class*='active']").attr("data-dial-code") + $(this).val()); });。如果有人再次返回此字段然后离开(无论是否编辑),那么它将再次导致附加国家代码。 -
好吧,我想没关系,我通过添加条件解决了值被再次追加的问题:
if($(this).val() == '') { // code }