我写了一段代码,但它不起作用。
代码:
<?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>
';
答案 0 :(得分:2)
在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处查看它。