【问题标题】:pass variable from input box to php将变量从输入框传递到 php
【发布时间】:2012-08-14 00:59:35
【问题描述】:

大家好,我知道这个问题已经发布,但作为一个菜鸟,我无法理解答案的含义。请帮忙。我想将输入框值动态传递给 php 变量。我在这里使用 javascript 请建议是否有其他方法不使用表单提交、_GET 或 _POST。我希望它在没有任何提交的情况下动态完成。

function showHint(str)
    {
    document.getElementById('TK').innerHTML = str;
    var str = str

    }

</script>


<html>
<head>Inputbox</head>
<title>TEST PAGE </TITLE>
<body>
<input type='text' id='TK' name='TK' onkeyup='showHint(this.value)'/>
<?php
$str = var  str ;  
echo "<a href = 'newpage.php?S=$str'/>" ; ?>
</body>
</html>

【问题讨论】:

  • “大家好,我知道这个问题已经发布...” 不是开始提问的最佳方式
  • 我希望我有计算机方面的专业知识,我不会那样开始这个问题,甚至不会问它,但叹息
  • Google "JQuery .post() 方法" ...这正是你所需要的。

标签: php javascript variables


【解决方案1】:

没有。你不能。 PHP 不是动态语言,它不运行客户端。 PHP 运行一次,而且只运行一次,也就是页面被加载的时候。它运行它的脚本并停止。你可以做的是让javascript来做一个AJAX调用。 AJAX 基本上是一种将信息传递到另一个页面并获取数据的方式,所有这些都在 JavaScript 中。对它做一些研究,但总之,PHP一旦运行就无法运行

【讨论】:

  • 一个工作示例将不胜感激,因为我的知识非常有限。谢谢
  • 好吧,这个例子使用 jquery 库,因为它更容易 $.post('phpFileURL', { '_postIndex' : $("#inputElementID").val() }, function( data) { //data 是您的 PHP 文件回显的 HTML/Text/Whatever });
【解决方案2】:
<script type="text/javascript" >
function process(){
var field1 = 'whatever';
var field2 = 'more whatever';

$.post("go.php",{field:field1,bext_field:field2},function(result){
         alert(result); 


});

};
</script>

这将提醒您从 GO.PHP 中 ECHO 的任何内容。

您还需要一个处理程序,例如:

onClick="process();"

在 div、按钮、图像上,几乎任何你想要“启动”你的帖子的东西

【讨论】:

  • Inputbox 测试页 这是正确的实现吗??
  • 别忘了你需要:&lt;script src="http://code.jquery.com/jquery-1.7.min.js"&gt;&lt;/script&gt; 在页面顶部包含 JQuery
【解决方案3】:

我想您找到的其他答案可能会说以下内容:

PHP 在用户有机会看到页面之前执行。

JS 让你控制之后发生的事情。

因此,您的问题是您试图使用 PHP 来做一些它根本做不到的事情。

在开发应用程序时,使用这些要点来帮助指导您的决策。在这种情况下,如果您尝试根据用户在框中键入的内容来构建链接,那么您解决问题的方法根本不是 PHP(页面已经加载,您来不及了!)--你的解决方案是 JS。

这样想:

/* 
  assumes you already have an <a> on the page.  if not, you'll 
  have to create a new <a> element dynamically.  (google "mdn createElement"
  for help)
*/
function showHint (str) {
    document.getElementById('TK').innerHTML = str;
    var link = document.getElementById('your-a-link');
    link.setAttribute('href', 'newpage.php?S=' + str);
}

【讨论】:

  • var link = document.getElementById('your-a-link'); link.setAttribute('href', 'newpage.php?S=' + str);你能解释一下吗?我需要在我的 html 部分中做什么才能工作
  • 在您的 HTML 标记中,如果您添加 &lt;a href="#" id="your-a-link"&gt;Link Text&lt;/a&gt;var link 将“抓取”该元素(与您使用 document.getElementById('TK') 来“抓取”input 的方式相同。“ setAttribute" 读起来就像它所做的一样 --- 它采用 &lt;a&gt; 并将 href 属性设置为通过您的函数传入的 "str"。
  • 非常感谢您的帮助。我对此还有另一个问题。是否可以在页面的超链接末尾附加一个 php 变量???像 Link Text 将是一个带有 newpage.php?S=12314 的超链接,但在 west 基于 php 变量的末尾添加 V=WEST。 链接文字
  • 再次考虑一下页面加载的流程:PHP 执行,然后在用户浏览器中加载界面,现在 JS 可以运行了。尽量只做“一跳”(PHP -> 浏览器/浏览器 JS)。 Des $variable 每个链接都会发生变化,还是会保持不变?如果每个链接都需要更改,那么您正在寻找一个新问题(google ajax)。如果它可以保持不变,可能最简单的方法就是在页面上添加print "&lt;script&gt;window.vAttribute = \"".$var."\";&lt;/script&gt;";。然后,您可以将其附加到我们调用的同一 link.setAttribute 函数中的 URL。
  • 实际上它会根据超链接所在的数据行而变化。所以我在每行末尾都有一个带有超链接的数据表,它获取所有变量并将它们发送到 sql 更新的新页面语句运行。但我想在输入框中添加一个变量,这就是为什么我需要找到一种方法来获取这个输入框变量 n 附加到这些超链接。它变得复杂
猜你喜欢
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 1970-01-01
  • 2018-10-22
  • 2012-10-07
  • 1970-01-01
相关资源
最近更新 更多