【问题标题】:How to pass valus selected from HTML Form?如何传递从 HTML 表单中选择的值?
【发布时间】:2012-12-18 23:23:34
【问题描述】:

我有一个包含两个表单的 PHP 文件。具有一个文本框和三个下拉列表作为过滤器的 Form1(中级)。一旦我点击 Form1 中的提交按钮,这些值就会被 POST 到另一个 PHP 文件进行计算,并显示 Form2(ProductionForm)(到目前为止它是隐藏的)。

我已经用 jQuery 完成了这个,这里是代码 sn-p:

  <script type="text/javascript">
$(document).ready(function(){
    $("#intermediate").submit(function() {
    /* AJAX calls and insertion into #productionForm */

        $.post("../c/ProductionSummaryFormCalculation.php", {
        Date: $('#datepicker').val(),
        ShiftId: $('#selectShift :selected').val(),
        Machine: $('#selectMachine :selected').val(),
        User: $('#selectUser :selected').val(),
    });

        $("#datepicker").prop("disabled", true);
        $("#selectShift").prop("disabled", true);
        $("#selectMachine").prop("disabled", true);
        $("#selectUser").prop("disabled", true);
    $("#productionForm").show();
        return false;
    });
});

我想要从 ProductionSummaryFormCalculation.php 文件计算的值并加载到 Form2 的文本框中。

当我在下面的代码中使用它时它不起作用:

    <input id="start_time_text" class="start_time_text" type="text" name="start_time_text" value="<?php echo $start_time; ?>">

另外,当我点击 Form2 中的提交按钮时,我想通过 POST 方法将从 Form1 和 Form2 中选择的值发送到另一个 PHP 文件。

    $("#productionForm").submit(function() {
    /* AJAX calls and insertion into #productionForm */
        $.post("../c/ProductionSummaryForm2.php", {
        start_time: $('#start_time_text').val(),
        end_time: $('#end_time_text').val(),
        remarks: $('#Remarks').val()
    });
});

我怎样才能做到这一点;有人可以帮我吗?

【问题讨论】:

  • 应该是 $_POST['start_time'];
  • 那不行。此外,我没有在 ProductionSummaryFormCalculation.php 中发布任何内容。
  • 那么用户如何从表格 1 到表格 2?
  • 停止表单的默认动作..$("#productionForm").submit(function(e) { e.preventDefault(); // Your code here
  • @Dagon 我在 jquery 中使用它,因此可以从表格 1 移动到表格 2 `$("#productionForm").show();`

标签: php javascript jquery forms http-post


【解决方案1】:

当您执行 $.post 时,您还可以放置一个在提交成功时执行的函数。 http://api.jquery.com/jQuery.post/
提交第一个表单后,获取 php 文件以返回给您任何您想要的内容并将其添加到所需的文本区域。

如果这是一个简单的两步表单,您不必将第一个表单发送到文件并返回结果。只需创建一个包含两个 div 的表单,在第一次提交时隐藏 1 个 div 显示另一个 div 并将它们一起提交。

【讨论】:

  • 也正如 Sushanth 建议的那样,您应该使用 $("#productionForm").submit(function(e) { e.preventDefault(); 来阻止表单第一次提交
  • 我在 form2 中有一个 jtable,因此我将两个表单分开放置。现在无法重新排列代码。有什么方法可以在表单 2 的提交点击的 POST 方法中同时发送 form1 和 2 选定的值
  • 当我在 jquery 中添加成功函数时?我试过这样,User: $('#selectUser :selected').val(), success:function(data){ alert(data); },但是一旦我点击提交按钮,我就会收到未定义的警报。我猜这个警报甚至在计算发生在 php 文件中之前就已经被执行了。我是否正确添加了成功功能???
  • $.post("test.php", { name: "John", time: "2pm" }, function(data) { alert("Data Loaded: " + data); }) ;
  • 在链接中我给了你大约 1/3 的页面,你有很多例子。
猜你喜欢
  • 2019-11-01
  • 2016-03-04
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 2015-12-21
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多