PHP,Javascript,HTML
我有一个存储在page2.php中的PHP函数
function pot()
{
does something;
returns a value;
}
在另一个页面(page1.php)中,我有一个链接和一个文本框
<a href="#" onclick="pot();">when i click, call the function pot</a>
调用pot()很简单,但我无法将pot()返回的值存储到文本框中。这是我的文本框
<input type="text" id="field" name="field" value="value the function returns">
有什么建议吗?
答案 0 :(得分:2)
尝试使用javascript / jquery(如
)将返回值设置为文本框function pot()
{
// your code
document.getElementById("field").value="returnedvalue"; // set the result value to element with id as field
}
当您点击链接
时,这将设置文本框的值<a href="#" onclick="pot();">when i click, call the function pot</a>
注意:确保将函数包含在调用函数的文件中。否则它将无法工作。如果需要,您可以使用该函数创建一个js文件(如果您想在许多地方使用相同的函数)并使用
调用php文件中的js文件<script src="jsfilename.js">
答案 1 :(得分:1)
通过JavaScript
function pot()
{
document.getElementById("field").value="returnedvalue";
}
jQuery
function pot()
{
$("#field").val(returnedvalue);
}
答案 2 :(得分:1)
除了使用ajax(优先方法)之外,您还可以在页面上使用隐藏的iframe。
你的HTML会是:
<iframe src="about:blank" id="myhiddeniframe"></iframe>
<input type="text" id="field" name="field" value="">
<div onclick="pot();">when i click, call the function pot</div>
使用Javascript:
function pot(){
document.getElementsById('myhiddeniframe').src="page2.php";
}
你的php函数:
function pot(){
//get the $value
<script>
var ret='<?php echo rawurlencode($value) ?>';
window.top.window.document.getElementsById('field').value=decodeURIComponent(ret);
<script>
}
<强> [编辑] 强>
添加了rawurlencode()
和decodeURIComponen()
以确保您的价值不会搞砸javascript: - )
答案 3 :(得分:0)
我认为你有js的问题?我假设你需要第1页的page2.php ..在函数库中你可以添加这个..
function pot()
{
document.getElementById('field').value = 'what ever value you want';
}
这是一个原生的javascript,但是有一个名为jQuery的javascript库可以帮助你解决很多问题。您似乎是Javascript的新手,您可以访问此http://jquery.com/来帮助您
答案 4 :(得分:0)
拥有外部.js文件并将其添加到page1.php
中的script.js
function pot()
{
does something;
returns a value;
}
在page1.php
中<script src="script.js" language="javascript" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function()
{
var t=pot();
$("#field").text(t);
});