用php动态设置输入值

时间:2015-10-05 17:28:58

标签: javascript php

我有用于URL缩短的PHP函数(如goo.gl或bit.ly),它返回带有echo的缩短链接。我想将返回的链接放入输入而不刷新页面(变量在PHP中)。

我知道这有点难以理解:

  1. 用户在输入中粘贴网址
  2. PHP函数缩短它并返回缩短的URL
  3. 缩短的URL显示在输入下(我想在输入中显示此内容而不刷新)
  4. 我的代码:

    ptr = string;
    
    vs.
    
    memcpy(ptr, string, sizeof(string));
    

2 个答案:

答案 0 :(得分:3)

Ajax非常适合这种情况。假设您有输入,用户粘贴它 - 您正在侦听该输入的值更改。一旦发生这种情况,您可以获取该输入的值并将其发布到http://example.com/your-shortern.php或将链接作为参数发布。

一旦它运行,它将通过该回波返回,你的ajax成功函数将获取该数据并将其设置为输入中的值。

https://jsfiddle.net/rzan9hdr/3/就是一个例子(SUPER SIMPLE)

对于那些稍后来到这里的人来说,最后的解决方案是使用按钮点击来触发ajax https://jsfiddle.net/rzan9hdr/5/

答案 1 :(得分:1)

如果您想回显页面上的新网址,则需要刷新页面。

或者,您可以允许用户将URL输入到输入字段或其他内容,然后使用ajax调用将URL发送到您的服务器,让您的服务器确定新URL并将其发送回客户端。由于您要更改服务器的状态,因此请使用POST请求而不是GET请求(请参阅https://en.wikipedia.org/wiki/Idempotence)。也许像以下那样......

$('#input1).change(function(){
   $.POST( "yourserver.php", {oldURL:$( "'#input1t" ).val()}, function( newURL ) {
      $( "'#input1t" ).val(newURL);  //Might need to do something to prevent another change event
   });
});

yourserver.php

<?php
shortUrl($_POST['oldURL'])

function shortUrl($url)
{
  //Your posted code
}