通过按钮单击将输入值传递给脚本中的 php 函数

我需要使用来自输入字段的值 - 没有 POST - 从外部源进行查找。


输入字段有一个与之关联的按钮,它在按下按钮时调用脚本。所以我需要将输入字段 (id = 'lookup') 放入函数的参数中(该函数在脚本中被调用)。


这是脚本中需要输入字段(称为“查找”的输入字段)中的值的代码行


<?php $product_name = api_request(lookup);?>

我的代码如下。


(注意:我知道“PHP 是服务器端,JS 是客户端站点”。但是单击按钮确实会调用 PHP 函数,如果您这样做,代码确实会显示该函数的返回值:


<?php $product_name = api_request('1234');?>

这将通过我的api_request()函数返回“我的产品名称” 。)


将脚本变量放入api_request()的参数中需要什么?


<!DOCTYPE html>

<html>

<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>


</head>

<body>

<p>Part Number = <input type="text" id="lookup" value= "12345"></p>

<button>Get product name for this part number</button>

<div id='product_name'>Product Name Goes Here </div>


<script>

$(document).ready(function(){

    $("button").click(function(){ 

        // returns value of input field 

        var lookup = document.getElementById('lookup'); 

        // need to put the input field 'lookup' into the function's parameter

        <?php $product_name = api_request(lookup);?>

        var product_name = "<?php echo $product_name; ?>";

    $('#product_name').text(product_name); // display it on the screen in that div ID


    });

});

</script>

</body>

</html>

<?php 


function api_request($partnumber) {

    // code that returns the product name for that part number, hard coded here

    $product_name = "My Product Name";

return $product_name;

}


慕桂英4014372
浏览 140回答 2
2回答

DIEA

阿贾克斯是可能的。尝试这个创建文件:api_request.php<?php&nbsp;function api_request($partnumber) {// code that returns the product name for that part number, hard coded here$product_name = "My Product Name";return $product_name;}$number = $_GET["part"];$product_name = api_request($number);echo json_encode(array( "product_name" => $product_name ));并用这个修改javascript$(document).ready(function(){$("button").click(function(){&nbsp;&nbsp; &nbsp; // returns value of input field&nbsp;&nbsp; &nbsp; var lookup = document.getElementById('lookup');&nbsp;&nbsp; &nbsp; // need to put the input field 'lookup' into the function's parameter&nbsp; &nbsp; $.get(`api_request.php?part=${ lookup.value }`,(resp)=>{$('#product_name').text(resp.product_name); // display it on the screen in that&nbsp;},"json");});});

缥缈止盈

由于您已经了解 PHP 是服务器而 JS 是客户端,因此您不能在 PHP 中直接使用 JS 变量。您可以通过两种方式。您已经说过不想使用的 $_POST 。我假设不使用 $_POST 的原因是浏览器提示继续刷新页面。使用 $_GET 将在您的网址中添加一个参数。<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><form method="get"><p>Part Number = <input type="text" id="lookup" name="lookup" value= "12345"></p><button>Get product name for this part number</button></form>此外,在文件开头添加此小行以作为 PHP 变量访问。$lookup = $_GET["lookup"];&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript