.submit()不包含隐藏字段
.submit () isn't including hidden fields
将jQuery .submit()
post绑定到dropzone file upload
complete handler会导致所有正确的数据被发送,除了它丢失了隐藏的输入字段。代码均为php
和jquery/js
找不到任何关于为什么这些会被排除。
所有隐藏字段都在表单中,并且有名称和id填充
<pre>
<code>
<form id="payments" method="post" action="<?php $_SERVER['PHP_SELF'] ?>" class="form-horizontal" >
<input type="hidden" name="transID" value="<? if(isset($values['transID'])){echo $values['transID'];}else{ echo $transID; } ?>" />
<input type="hidden" name="transID" value="<? if(isset($values['transID'])){echo $values['transID'];}else{ echo $transID; } ?>" />
<input type="hidden" id="pdflink" name="pdflink" value="<? if(isset($values['pdflink'])){echo $values['pdflink'];} ?>" />
<input type="button" name="btnSubmit" value="Submit PDF & Payment(s)" onclick="this.disabled" id="btnSubmit" class="col-md-6 btn btn-primary raised" />
</form>
<script>
$('#upload').fileupload({
// This element will accept file drag/drop uploading
autoUpload: true,
dropZone: $('#drop'),
limitMultiFileUploads:1,
maxNumberOfFiles: 1,
fileInput: $('#upl'),
url: 'acctfilesupload',
dataType: 'text',
// This function is called when a file is added to the queue;
// either via the browse button, or via drag/drop:
add: function (e, data) {
var tpl = $('<li class="working"><p></p></li>');
// Append the file name and file size
tpl.find('p').text("Submitted File: " + data.files[0].name).append(' <i>' + formatFileSize(data.files[0].size) + '</i>');
// Add the HTML to the UL element
data.context = $(ul).html(tpl);
// upload the file once it is added to the queue
$('#btnSubmit').click(function(){
var jqXHR = data.submit();})
},
progressall: function (e, data) {
var progress = parseInt(((data.loaded / data.total * 85)+ 15), 10);
$('#uploadprogress').css('width', progress + '%').html(" Uploaded: " + progress + '%');
},
done: function(e, data){
var r = data.result;
if (r.lastIndexOf("''''FShost''Accounts", 0) === 0) {
$('#pdflink').val(r);
$('#payments').submit();
} else {
alert(r);
$('#btnSubmit').prop('disabled',false);
$('#uploadprogress').css('width','15%').html(" Uploaded: 0%");
}
}
}).bind('fileuploadsubmit', function (e, data) {
data.formData = {
name: $('#uploadname').val(),
memberid: $('#memberidupload').val(),
transid: $('#acctfilesubID').val(),
amount: $('#AmountOwed').val()
};
});
</script>
</code>
</pre>
找到了!问题是PHP在一个表单中可以提交的最大字段数的硬限制。最后一个提交的字段恰好也是隐藏字段出现在POST
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 添加和删除隐藏字段数组中的值,而不提交表单
- 在控制器上使用“$watch”时,为什么不更新此隐藏字段
- 将选项值附加到隐藏字段
- JQuery获取隐藏字段的值
- MVC+访问控制器中的隐藏字段
- ASP.net Javascript函数中的隐藏字段为null
- 在第一页加载时隐藏字段,而不是在php发布之后
- 表单使用js、html,而不是隐藏字段
- 如何根据文本长度立即显示和隐藏字段?-JQuery
- 在选择更改时显示大于/小于的隐藏字段集
- 如何获取多个复选框值并分配给隐藏字段
- 将会话登录页存储在cookie中以进行表单解析(通过隐藏字段)
- 将布尔值存储在隐藏字段中以进行表单处理
- 如何将多个/不同的隐藏字段插入 XML
- 如何通过 JSP 代码将隐藏字段(Javascript)插入 XML
- 如何使用Java在Selenium WebDriver的隐藏字段中键入一些文本