使用PHP_SELF发布后更新表单字段
我正在使用php_self提交表单。数据发布后,我希望将计算值传递给同一页面上的另一个表单字段,即原始表单 $title\u保险字段保持空白。你知道为什么吗?谢谢使用PHP_SELF发布后更新表单字段,php,javascript,Php,Javascript,我正在使用php_self提交表单。数据发布后,我希望将计算值传递给同一页面上的另一个表单字段,即原始表单 $title\u保险字段保持空白。你知道为什么吗?谢谢 <?php if(isset($_POST['submit'])) { $sale_price = $_POST['sale_price']; // posted value $title_insurance = ($sale_price * 0.00575) + 200; ?> <script type="tex
<?php
if(isset($_POST['submit']))
{
$sale_price = $_POST['sale_price']; // posted value
$title_insurance = ($sale_price * 0.00575) + 200;
?>
<script type="text/javascript">
document.getElementById("title_insurance").value='<?php echo $title_insurance ; ?>';
</script>
<?php } ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input name="sale_price" type="text" id="sale_price" size="15">
<input name="title_insurance" type="text" id="title_insurance" size="15" value="<?php echo $title_insurance; ?>" />
<input name="submit" type="submit" class="bordered" id="submit" value="Calculate" />
</form>
document.getElementById(“所有权保险”)。值=“”;
您想要做的事情最好由AJAX完成。
结构已经过时,并且没有用处,除非您将用户转移到另一个页面并随附发送一些数据,或者,如果您已完成获取用户数据,并且只想处理输入的内容并显示完成消息
如果您希望在同一页面上继续处理,那么AJAX就是一条出路。使用AJAX的最佳方法是使用一个单独的处理器文件(PHP)来接收数据、处理数据并将其发送回
要将
构造转换为AJAX,您只需删除
标记,并将submit按钮从type=“submit”
转换为type=“button”id=“mybutton”
,然后使用按钮和其他元素上的id来获取它们包含的数据并将其提供给AJAX代码块。底部链接中的示例显示了您需要了解的内容-它们是简单、有用的示例
为了节省资源,您可以对多个AJAX请求使用同一个PHP处理器页面——只需发送一个变量(例如“request=save_To_db&first_name=bob&last_name=jones”),并测试接收到的“request”将决定PHP处理器文件的功能并返回
,以及它所包含的示例将有所帮助。您想要做的事情最好由AJAX完成。
结构已经过时,并且没有用处,除非您将用户转移到另一个页面并随附发送一些数据,或者,如果您已完成获取用户数据,并且只想处理输入的内容并显示完成消息
如果您希望在同一页面上继续处理,那么AJAX就是一条出路。使用AJAX的最佳方法是使用一个单独的处理器文件(PHP)来接收数据、处理数据并将其发送回
要将
构造转换为AJAX,您只需删除
标记,并将submit按钮从type=“submit”
转换为type=“button”id=“mybutton”
,然后使用按钮和其他元素上的id来获取它们包含的数据并将其提供给AJAX代码块。底部链接中的示例显示了您需要了解的内容-它们是简单、有用的示例
为了节省资源,您可以对多个AJAX请求使用同一个PHP处理器页面——只需发送一个变量(例如“request=save_To_db&first_name=bob&last_name=jones”),并测试接收到的“request”将决定PHP处理器文件的功能并返回
,以及其中包含的示例将有所帮助。请先尝试一下
在你的编码过程中,你错过了这个$\u POST['button']
及
document.getElementById(“所有权保险”)。值=“”;
先试试这个
在你的编码过程中,你错过了这个$\u POST['button']
及
document.getElementById(“所有权保险”)。值=“”;
getElementById
参数中有一个额外的空间:
// VV
document.getElementById("title_insurance ").value='<?php echo $title_insurance ; ?>';
//VV
document.getElementById(“所有权保险”)。值=“”;
您的getElementById
参数中有一个额外的空间:
// VV
document.getElementById("title_insurance ").value='<?php echo $title_insurance ; ?>';
//VV
document.getElementById(“所有权保险”)。值=“”;
提交按钮被称为按钮
,如果您正在输出javascript以修改DOM创建元素标题后需要运行的值,也可以使用该按钮
if(isset($_POST['button']))
{
$sale_price = $_POST['sale_price']; // posted value
$title_insurance = ($sale_price * 0.00575) + 200;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input name="sale_price" type="text" id="sale_price" size="15">
<input name="title_insurance" type="text" id="title_insurance" size="15" value="<?php echo $title_insurance; ?>" />
<input name="button" type="submit" class="bordered" id="button" value="Calculate" />
</form>
<script type="text/javascript">
document.getElementById("title_insurance").value='<?php echo $title_insurance ; ?>';
</script>
if(设置($\u POST['button']))
{
$sale\u price=$\u POST['sale\u price'];//过账价值
$title_insurance=($sale_price*0.00575)+200;
}
?>
提交按钮被称为按钮
,如果您正在输出javascript以修改DOM创建元素title\u后需要运行的值,那么提交按钮也被称为按钮
if(isset($_POST['button']))
{
$sale_price = $_POST['sale_price']; // posted value
$title_insurance = ($sale_price * 0.00575) + 200;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input name="sale_price" type="text" id="sale_price" size="15">
<input name="title_insurance" type="text" id="title_insurance" size="15" value="<?php echo $title_insurance; ?>" />
<input name="button" type="submit" class="bordered" id="button" value="Calculate" />
</form>
<script type="text/javascript">
document.getElementById("title_insurance").value='<?php echo $title_insurance ; ?>';
</script>
if(设置($\u POST['button']))
{
$sale\u price=$\u POST['sale\u price'];//过账价值
$title_insurance=($sale_price*0.00575)+200;
}
?>
您正在检查isset($\u POST['submit']),但表单中没有名为'submit'的POST变量。您有一个提交按钮,但它不是“提交”,我只是将提交按钮的名称和id更改为“提交”,但它仍然不起作用。使用JS是一种方法,还是应该将php填充到表单的值中?如果您将表单发布到同一页面,那么您不需要action属性,因为这是默认行为。您使用的enctype也是默认值。javascript例程将导致错误,因为页面尚未完全加载。@user2413654请参阅下面的VIVEK-MDU答案,他的代码有效。你根本不需要javascript的东西,也不需要通过寻找表单字段来测试帖子。这是不可靠的,正如您的代码完美地演示的那样。改为使用if($\u服务器[“请求方法”]=='POST']){…}
,这是100%可靠的。您正在检查isset($\u POST['submit']),但表单中没有名为'submit'的POST变量。您有一个提交按钮,但它不是“提交”,我只是将提交按钮的名称和id更改为“提交”,但它仍然不起作用。使用JS是一种方法,还是应该将php填充到表单的值中?如果您将表单发布到同一页面,那么您不需要action属性,因为这是默认行为。您使用的enctype也是默认值。javascript例程将导致错误,因为页面尚未完全加载。@user2413654请参阅下面的VIVEK-MDU答案,他的代码有效。而且你根本不需要javascript的东西