为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕桂英4014372 2021-11-04 16:28:37
我需要使用来自输入字段的值 - 没有 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;}
查看完整描述

2 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

阿贾克斯是可能的。


尝试这个


创建文件:api_request.php


<?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;

}

$number = $_GET["part"];

$product_name = api_request($number);

echo json_encode(array( "product_name" => $product_name ));

并用这个修改javascript


$(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

    $.get(`api_request.php?part=${ lookup.value }`,(resp)=>{

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

},"json");


});

});


查看完整回答
反对 回复 2021-11-04
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

由于您已经了解 PHP 是服务器而 JS 是客户端,因此您不能在 PHP 中直接使用 JS 变量。

您可以通过两种方式。

  1. 您已经说过不想使用的 $_POST 。我假设不使用 $_POST 的原因是浏览器提示继续刷新页面。

  2. 使用 $_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"]; 


查看完整回答
反对 回复 2021-11-04
  • 2 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信