【发布时间】:2021-08-17 18:54:24
【问题描述】:
我有一个注册表单(PHP 和 MySql),访问者可以在其中提交他们的姓名、电子邮件和手机号码。提交后进入数据库。
现在我想在手机号码前添加一个带有下拉菜单的国家/地区代码,以便访问者可以选择他们想要的国家/地区并输入他们的手机号码。
为此,我使用了 Github 的“intl-tel-input”。一切正常。但是当我尝试使用 PHP 的 POST 或 GET 方法获取带有国家代码的手机号码的值时,它不起作用。但是当我尝试从 JS 中获取值时它会起作用。
下面是从JS获取带有国家代码的手机号码的代码,它完全可以正常工作。
<div class="container">
<form id="login" onsubmit="process(event)">
<p>Enter your phone number:</p>
<input id="phone" type="tel" name="phone" />
<input type="submit" class="btn" value="Verify" />
</form>
<div class="alert alert-info" style="display: none"></div>
<div class="alert alert-error" style="display: none"></div>
</div>
<script>
const phoneInputField = document.querySelector("#phone");
const phoneInput = window.intlTelInput(phoneInputField, {
utilsScript:
"https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.8/js/utils.js",
});
const info = document.querySelector(".alert-info");
const error = document.querySelector(".alert-error");
function process(event) {
event.preventDefault();
const phoneNumber = phoneInput.getNumber();
info.style.display = "none";
error.style.display = "none";
if (phoneInput.isValidNumber()) {
info.style.display = "";
info.innerHTML = `Phone number in E.164 format: <strong>${phoneNumber}</strong>`;
} else {
error.style.display = "";
error.innerHTML = `Invalid phone number.`;
}
}
</script>
我知道我可以使用 JS 获取数据并将其添加到数据库中。但是有什么方法可以让我使用 POST 方法获取带有国家代码的手机号码值吗?
提前致谢。
【问题讨论】:
-
如何将最终电话号码传递给 PHP?在您当前的示例中,只有 JS 端,请说明您如何将其传递给 PHP 端。
-
我在仅通过 PHP 传递最终值时遇到了困难,我曾经使用带有 POST 方法的表单提交来获取值。现在表单提交后,它正在调用JS函数。
-
好的,根据这条评论在下面查看我的答案
标签: javascript php mysql php-7