HTML & PHP - 输入电话号码,然后拨打
HTML & PHP - Type a telephone number, and call it
我写了一个代码,但是不行
代码:
<?php
$number = $_GET["tel"];
echo '<form action="/" method="get">
<a>Enter the phone number, what you want to call</a>
<input type="tel" name="tel"/>
<input type="submit" onclick="call()" value="Call"/>
</form>
<script>
function call() {
window.open("tel:$number");
}
</script>
';
在PHP中,字符串中的变量只允许在双引号中。将单引号更改为双引号以使 $number
在字符串中起作用。
有关详细信息,请参阅 this SO post。
因此,您的代码应如下所示:
<?php
$number = $_GET["tel"];
echo "<form action='/' method='get'>
<a>Enter the phone number, what you want to call</a>
<input type='tel' name='tel' />
<input type='submit' onclick='call()' value='Call' />
</form>
<script>
function call() {
window.open('tel:$number');
}
</script>
";
?>
但是这段代码很奇怪。流程如下:
- 获取
$_GET
变量tel
(假设表格已经发送)
echo
出表格
- 表单提交时,
$_GET["tel"]
中的数字被访问,不是表单中的数字
- 然后,表单被提交,但这不起作用,因为
window.open()
已经发生
这是一个没有 PHP 的替代解决方案(并且没有实际的表单发送):
<form action='/' method='get'>
<a>Enter the phone number, what you want to call</a>
<input type='tel' name='tel' />
<input type='submit' onclick='call();return false;' value='Call' />
</form>
<script>
function call() {
var number = document.querySelector("input[name=tel]").value;
window.open('tel:' + number);
}
</script>
查看它在 JSFiddle.net 的工作情况。
我写了一个代码,但是不行
代码:
<?php
$number = $_GET["tel"];
echo '<form action="/" method="get">
<a>Enter the phone number, what you want to call</a>
<input type="tel" name="tel"/>
<input type="submit" onclick="call()" value="Call"/>
</form>
<script>
function call() {
window.open("tel:$number");
}
</script>
';
在PHP中,字符串中的变量只允许在双引号中。将单引号更改为双引号以使 $number
在字符串中起作用。
有关详细信息,请参阅 this SO post。
因此,您的代码应如下所示:
<?php
$number = $_GET["tel"];
echo "<form action='/' method='get'>
<a>Enter the phone number, what you want to call</a>
<input type='tel' name='tel' />
<input type='submit' onclick='call()' value='Call' />
</form>
<script>
function call() {
window.open('tel:$number');
}
</script>
";
?>
但是这段代码很奇怪。流程如下:
- 获取
$_GET
变量tel
(假设表格已经发送) echo
出表格- 表单提交时,
$_GET["tel"]
中的数字被访问,不是表单中的数字 - 然后,表单被提交,但这不起作用,因为
window.open()
已经发生
这是一个没有 PHP 的替代解决方案(并且没有实际的表单发送):
<form action='/' method='get'>
<a>Enter the phone number, what you want to call</a>
<input type='tel' name='tel' />
<input type='submit' onclick='call();return false;' value='Call' />
</form>
<script>
function call() {
var number = document.querySelector("input[name=tel]").value;
window.open('tel:' + number);
}
</script>
查看它在 JSFiddle.net 的工作情况。