Php 标准提交按钮提交表单,Bootstrap V3按钮赢得';不要提交表格
我一页有两张表格。一个用于上传图像,另一个用于其他目的 如果我使用一个标准的提交按钮,表单就可以提交了,但是如果我将它切换到一个Twitter Bootsrap按钮,使用与标准按钮相同的名称和id,它就不会提交表单。我有一些JQuery可以更改按钮的外观,但我已经删除了这些代码,它仍然不起作用Php 标准提交按钮提交表单,Bootstrap V3按钮赢得';不要提交表格,php,jquery,forms,twitter-bootstrap,Php,Jquery,Forms,Twitter Bootstrap,我一页有两张表格。一个用于上传图像,另一个用于其他目的 如果我使用一个标准的提交按钮,表单就可以提交了,但是如果我将它切换到一个Twitter Bootsrap按钮,使用与标准按钮相同的名称和id,它就不会提交表单。我有一些JQuery可以更改按钮的外观,但我已经删除了这些代码,它仍然不起作用 PHP Code if (isset($_POST['submit'])) { //upload functions } JQuery Code //Show Instruc
PHP Code
if (isset($_POST['submit'])) {
//upload functions
}
JQuery Code
//Show Instructions When File Is Selected
$("#file").on('change', function(e) {
var uploadButton = $('#UploadImage');
$(uploadButton).removeClass('btn-default');
$(uploadButton).addClass('btn-upload');
$("#uploadImageHolder").addClass('alert alert-danger');
$('#uploadStatus').html('');
$('#uploadInstruct').html('<span><img src="../images/redarrow.png">PLEASE CLICK RED BUTTON TO UPLOAD THIS IMAGE</span>');
$('#initMessage').html('');
});
//Show the Loading Screen When Upload Form Is Sent
$("#myForm").submit(function() {
$("#uploadSuccess").remove();
$("#uploadImageHolder").remove();
$.fancybox(
'<p class="text-center"><img src="../images/loading.gif" width="48px" height="48px"></p><p class="text-center">Please Wait While Your Image Is Processed</p>',
{
'modal' : true,
'overlayColor' : '#000000',
'width' : 350,
'height' : 'auto',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
<form action="" enctype="multipart/form-data" method="POST" class="form-inline" role="form" id="myForm">
<div class="form-group">
<p>
<label for="file">File input</label>
<input id="file" name="file" type="file">
</p>
<input name="NextImageID" type="hidden" value="<?php echo $NextImageID; ?>">
<p id="uploadImageHolder">
<button type="submit" id="UploadImage" name="submit" class="btn btn-default"><span>Upload Image</span></button><span id='uploadInstruct'></span>
</p>
</div>
</form>
PHP代码
如果(isset($_POST['submit'])){
//上传功能
}
JQuery代码
//选择文件时显示说明
$(“#文件”)。关于('change',函数(e){
var uploadButton=$(“#UploadImage”);
$(uploadButton).removeClass('btn-default');
$(uploadButton).addClass('btn-upload');
$(“#uploadImageHolder”).addClass('alert-alert-danger');
$('#uploadStatus').html('');
$('#uploadInstruction').html('请单击红色按钮上载此图像');
$('#initMessage').html('');
});
//发送上传表单时显示加载屏幕
$(“#myForm”).submit(函数(){
$(“#上载成功”).remove();
$(“#uploadImageHolder”).remove();
$.fancybox(
“正在处理图像,请稍候。”,
{
“模态”:正确,
“套色”:“000000”,
“宽度”:350,
“高度”:“自动”,
“transitionIn”:“无”,
“transitionOut”:“无”
});
});
文件输入
我想你可以把按钮类型改成普通的按钮
在#UploadImage.click中,您可以调用表单提交操作,如下所示:
$( "#other" ).click(function() {
$( "#target" ).submit();
});
此外,表单操作是空的,这是post url?了解实际情况的唯一方法是使用浏览器的DOM检查工具检查动态DOM更改
但是,表单提交的最低HTML标记如下所示
<form action="yoururl">
....
<input type="submit" />
</form>
....
submit
事件时,您正在删除(基本上是删除)按钮。为什么不干脆hide()
而不是remove()
?我不确定这是否会有什么不同,但可能是时间问题。另外,action=”“
在您提交时不会执行任何操作。。。如果您没有执行ajax
,则需要action
URL。表单已提交到同一页面,但我添加了页面URL。没什么区别。我不认为我在提交之前删除了按钮。要删除的元素只是文本元素。如果我只是让它成为一个标准的表单提交按钮,它就可以提交了。我需要设置它的样式,使表单静音,以便用户知道下一步要做什么。要删除的元素,#uploadImageHolder
是保存按钮的容器。。。所以它实际上不仅仅是一个“文本元素”。删除容器时,也会删除其内容。否则,所有这些都毫无意义。将你的remove()
更改为hide()
,这样你就可以排除它了。我明白你说的,只是意识到它在做什么。我删除了$(“#uploadImageHolder”).remove()代码>全部,但仍然没有提交表单。我还将按钮类型改为“button”而不是“submit”,但这似乎也没什么区别,毫无意义。构造两个JSIDLE演示。。。一个是工作版本,另一个是损坏的版本,因此我们可以进行额外的故障排除。$(“#UploadImage”)。单击(function(){$(“#uploadSuccess”)。remove();$(“#uploadImageHolder”)。remove();$(“#myForm”)。submit();$。fancybox(“正在处理图像,请稍候,{'modal':true,'overlycolor':'000000','width':350,'height':'auto','transitionIn':'none','transitionOut':'none'})代码>新JQuery代码,仍然没有提交。