如何在不提交PHP的表单的情况下发送文本框值?

时间:2011-12-22 13:21:04

标签: php mysql

我想刷新同一页面,并在点击链接或按钮后在同一页面的文本框中显示输入的值。

我有以下代码:

 <?php 
 echo '<h3>Fee Payment</h3>';

 echo "<form id='myFormId' name='myFormName'>";
 echo " <input type='text' name='myTextField'>";
 echo "<a href='{$_SERVER['PHP_SELF']}?student_no=myTextField'> Search Student</a>";


 if (!(isset($_GET[student_no])))
 { 
    echo "No Student is available.";
 } 
 else
 {
    $student_no = $_GET['student_no'];
    echo "Student NO:".$studen_no;
 }
 ?>

请指导我如何实现目标,并将错误发给我的代码。

4 个答案:

答案 0 :(得分:1)

<?php 
echo '<h3>Fee Payment</h3>';

if(isset($_POST['myTextField']))
 $value=$_POST['myTextField'];
else
 $value='';

echo "<form id='myFormId' name='myFormName' method='post'>";
echo " <input type='text' name='myTextField' value='$value'>";
echo "<a href='{$_SERVER['PHP_SELF']}?student_no=myTextField'> Search Student</a>";

您还需要表单中的提交按钮和表单关闭标记。

答案 1 :(得分:0)

  1. 您正在使用链接提交表单,但您应该使用提交按钮。 <input type="submit" value="Search student" />
  2. 您没有关闭<form>代码。
  3. 您正在使用$_GET[student_no],这将使PHP查找student_no的定义。因为它是一个字符串,所以将其表示为一个字符串。 $_GET['student_no']更好。

答案 2 :(得分:0)

为什么不能提交表格?您想要一个搜索链接而不是按钮吗? 您可以配置链接以通过javascript提交表单,并将表单操作更改为GET,如下所示:

<?php 
echo '<h3>Fee Payment</h3>';

echo "<form id='myFormId' name='myFormName' 
   action='{$_SERVER['PHP_SELF']}' method='GET'>";
echo " <input type='text' name='student_no'>";
echo "<a href='javscript:document.forms.myFormName.submit()'> 
    Search Student</a>";

...

答案 3 :(得分:0)

你想要的是AJAX。我只是向您提供一个如何使用jQuery继续操作的示例,但您也可以使用任何其他库/框架或任何其他方式。您还可以查看this article以获取更多可用性详细信息。

在主页面中: -

<?php
echo '<h3>Fee Payment</h3>';

echo "<form id='myFormId' name='myFormName'>";
echo "<input type='text' name='myTextField' id='myTextField' />";
echo '<a href="javascript:void()" id="inline_submit_a">Search Student</a>';
echo "</form>";
?>

<script type="text/javascript">
$('#inline_submit_a').click(function(evt){
    $.ajax({
       type: "GET",
       url: "handler.php",
       data: {text:$('#myTextField').val()}
    });

    evt.preventDefault();
    return false;
});
</script>

在“handler.php”页面中: -

<?php
if (!(isset($_GET[student_no])))
{ 
   echo "No Student is available.";
} 
else
{
   $student_no = $_GET['student_no'];
   echo "Student NO:".$student_no;
}
?>

您可以在“handler.php”页面中编写与数据库相关的所有逻辑。

希望它有所帮助。