gpt4 book ai didi

使用 JS .insertAfter() 时 PHP $_POST 值丢失

转载 作者:行者123 更新时间:2023-11-30 13:22:08 25 4
gpt4 key购买 nike

我有以下代码,如果用户从下拉列表中选择“其他”,它应该向表单添加一个字段。但是,使用此代码似乎会覆盖下拉列表的值,因此在发布表单时 $_POST['enquiry_source'] 为空。

我已经将范围缩小到导致我在下拉列表中的任何更改上添加字段的问题,而不仅仅是选择“其他”时 -

$(field_to_append).insertAfter('#form-field-enquiry_source');

我也尝试过 $('#form-field-enquiry_source').after(field_to_append);,但结果是一样的。

$(function(){

/** Looks for changes to the enquiry source dropdown */
$('#form-field-select-enquiry_source').live('change', function(){

/** Check the enquiry source */
var enquiry_source = $('select[name="enquiry_source"]').val();

/**
* Adds another field to the enquires form when the user selects 'Other' form the enquiry source dropdown
*/
if(enquiry_source === 'other'){ // The user has selected other as the enquiry source, so lock the form

var field_to_append = '<div id="form-field-enquiry_source_other" class="form-field float-left">'+
'<label>Other<span class="required"></span></label>'+
'<input name="enquiry_source" id="form-field-input-enquiry_source_other" />'+
'</div>';

$(field_to_append).insertAfter('#form-field-enquiry_source');

} else {

$('#form-field-enquiry_source_other').remove();

}

});

});

知道是什么导致了这个问题吗?

最佳答案

如果您使用 name = enquiry_source 进行选择,然后您使用相同的名称输入一个输入,则只有一个元素会发布到服务器,在您的情况下是输入字段(只有后一个元素是已发布)所以你应该给这个字段一个不同的名字

        var field_to_append = '<div id="form-field-enquiry_source_other" class="form-field float-left">'+
'<label>Other<span class="required"></span></label>'+
'<input name="enquiry_source_other" id="form-field-input-enquiry_source_other" />'+
'</div>';

关于使用 JS .insertAfter() 时 PHP $_POST 值丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com