单击链接时,函数值应存储在文本框中

时间:2014-05-15 06:09:12

标签: javascript php jquery html5 function

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">

有什么建议吗?

5 个答案:

答案 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);
});