从另一个表单获取隐藏的表单数据并将其添加到ajax中
问题:因为文件是通过ajax上传的,帖子信息是以不同的形式完成的。如何从#editpost表单获取隐藏的post值并将其添加到ajax中 我使用此脚本上载文件从另一个表单获取隐藏的表单数据并将其添加到ajax中,ajax,codeigniter,Ajax,Codeigniter,问题:因为文件是通过ajax上传的,帖子信息是以不同的形式完成的。如何从#editpost表单获取隐藏的post值并将其添加到ajax中 我使用此脚本上载文件 <script type="text/javascript"> $('#upload-attachment').on('click', function() { //$('#form-upload').remove(); $('body').prepend('<form enctype="multipa
<script type="text/javascript">
$('#upload-attachment').on('click', function() {
//$('#form-upload').remove();
$('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>');
$('#form-upload input[name=\'file\']').trigger('click');
$('#form-upload input[name=\'file\']').on('change', function() {
$.ajax({
url: "<?php echo base_url('extensions/attachments/upload');?>",
type: 'post',
dataType: 'json',
data: new FormData($(this).parent()[0]),
cache: false,
contentType: false,
processData: false,
success: function(json) {
if (json['success'] == false)
{
alert(json['error'])
}
}
});
});
});
</script>
$(“#上传附件”)。在('click',function()上{
//$(“#表单上载”).remove();
$('body')。前缀(“”);
$('#表单上载输入[name=\'file\']')。触发器('click');
$('#表单上载输入[name=\'file\']')。在('change',function()上{
$.ajax({
url:“”,
键入:“post”,
数据类型:“json”,
数据:新FormData($(this).parent()[0]),
cache:false,
contentType:false,
processData:false,
成功:函数(json){
if(json['success']==false)
{
警报(json['error'])
}
}
});
});
});
此视图中的哪个
<div class="container">
<div class="row">
<div class="col-sm-12 col-xs-12">
<?php echo form_open_multipart('editthread/' . $post_id, array('role' => 'form', 'id' => 'editpost'));?>
<div class="panel panel-default editpost-panel">
<div class="panel-heading"></div>
<div class="panel-body">
<input type="hidden" name="post_id" value="<?php echo $post_id;?>" id="post_id">
<div class="form-group">
<label>Question title</label>
<?php echo form_input('title', $title, array('class' => 'form-control'));?>
<?php echo form_error('title', '<div class="error text-danger">', '</div>');?>
</div>
<div class="form-group">
<label>Message / Question</label>
<?php echo form_textarea('message', $message, array('class' => 'form-control'));?>
<?php echo form_error('message', '<div class="error text-danger">', '</div>');?>
</div>
<div class="form-group">
<label>Edit Reason</label>
<?php
$options = array(
'name' => 'editreason',
'rows' => '3',
'cols' => '40',
'class' => 'form-control',
'value'=> $editreason
);
echo form_textarea($options);?>
<?php echo form_error('editreason', '<div class="error text-danger">', '</div>');?>
</div>
<div class="form-group editpost-buttons">
<button type="button" class="btn btn-default" id="upload-attachment">Add Attachment</button>
<a href="" role="button" class="btn btn-default">Cancel Update</a>
<button type="submit" class="btn btn-primary">Update Post</button>
</div>
</div>
</div>
<?php echo form_close();?>
</div>
</div>
</div>
<script type="text/javascript">
$('#upload-attachment').on('click', function() {
//$('#form-upload').remove();
$('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>');
$('#form-upload input[name=\'file\']').trigger('click');
$('#form-upload input[name=\'file\']').on('change', function() {
$.ajax({
url: "<?php echo base_url('extensions/attachments/upload');?>",
type: 'post',
dataType: 'json',
data: new FormData($(this).parent()[0]),
cache: false,
contentType: false,
processData: false,
success: function(json) {
if (json['success'] == false)
{
alert(json['error'])
}
}
});
});
});
</script>
信息/问题
将数据追加到表单数据中,请尝试以下操作
var formData = new FormData($(this).parent()[0]);
formData.append('input_name',$("#editform #hidden_name_field").val());
然后在您的ajax中:
$.ajax({
.
.
.
data: formData
})
来源:将数据附加到表单数据中,请尝试以下操作
var formData = new FormData($(this).parent()[0]);
formData.append('input_name',$("#editform #hidden_name_field").val());
然后在您的ajax中:
$.ajax({
.
.
.
data: formData
})
资料来源: