只在提交时在表单上提交this.val?

时间:2012-01-22 03:20:01

标签: php jquery

我正在创建一个显示动态值的表单,我在Jquery函数中有表单操作,我想从$(this).closest('tr') <input type="text" class="line_Order_ID" value="'.$Order_ID.'" size="5" readonly>中取出一个值我想从{{1}中取值并将其发送到php页面进行处理。

的jQuery

.line_Order_ID

任何想法?

2 个答案:

答案 0 :(得分:1)

鉴于您的现有代码似乎已从相关输入中获取值并将其放入Order_ID变量,您的问题是如何将该值放入表单并提交它?

如果是这样,我认为最明显的两种方法是将它放在隐藏的输入字段中,或者将其添加为查询字符串参数。

将此添加到您的表单:

<input type="hidden" id="hiddenOrderId" name="orderId" />

(使用你想要的任何name - 显然这是你将在PHP中处理的参数的名称。)

然后在现有.submit()添加之前的函数中添加:

$("#hiddenOrderId").val(Order_Id);

(你也可以动态创建隐藏的输入,然后设置它的值,但是因为你似乎是针对一个空白窗口,你可能会提交多次,对于这种情况,我认为直接在你的html标记中创建一个隐藏的输入比担心为第一次提交动态创建一个并重新用于后续提交更麻烦。)

编辑:传递查询字符串中的值:

    $('form#ordersList').attr({
        action: "phpDump.php?orderId=" + encodeURIComponent(Order_Id),
        target: "_blank",
    }).submit();

如果您知道id将始终是普通数字,则可以省略.encodeURIComponent,但对于用户输入数据,您必须允许在URI中具有特殊含义的字符。

答案 1 :(得分:0)

如果每个TR只有一个.line_Order_ID,那么你可能想要像这样构造它..

var Order_ID = $($tr + ' .line_order_ID').val();

那应该从你拥有的TR开始遍历,并从中拉出适当的输入值。