- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 AJAX CodeIgniter 提交包含文本字段和图像的表单。
首先我尝试使用 AJAX 上传图像
HTML
<form id="frm_add_school" role="form" class="form-validation" method="post" enctype="multipart/form-data">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">School Name</label>
<label style="color:red;" id="scl_name_error"></label>
<div class="append-icon">
<input type="text" id="scl_name" name="scl_name" class="form-control" minlength="3" placeholder="Minimum 3 characters..." required>
<i class="icon-user"></i>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Email Address</label>
<label style="color:red;" id="scl_email_error"></label>
<div class="append-icon">
<input type="email" id="scl_email" name="scl_email" class="form-control" placeholder="Enter your email..." required>
<i class="icon-envelope"></i>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Phone Number</label>
<label style="color:red;" id="scl_Phonenumber_error"></label>
<div class="append-icon">
<input type="text" id="scl_Phonenumber" name="scl_Phonenumber" class="form-control" minlength="3" placeholder="Minimum 3 characters..." required>
<i class="icon-user"></i>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Address</label>
<label style="color:red;" id="scl_Address_error"></label>
<div class="append-icon">
<input type="text" id="scl_Address" name="scl_Address" class="form-control" placeholder="Enter your address..." required>
<i class="icon-envelope"></i>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Password</label>
<label style="color:red;" id="scl_password_error"></label>
<div class="append-icon">
<input type="password" id="scl_password" name="scl_password" class="form-control" placeholder="Between 4 and 16 characters" minlength="4" maxlength="16" required>
<i class="icon-lock"></i>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Repeat your password</label>
<label style="color:red;" id="scl_password2_error"></label>
<div class="append-icon">
<input type="password" id="scl_password2" name="scl_password2" class="form-control" placeholder="Must be equal to your first password..." minlength="4" maxlength="16" required>
<i class="icon-lock"></i>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Time of Lunch</label>
<label style="color:red;" id="scl_TimeofLunch_error"></label>
<div class="append-icon">
<input type="text" id="scl_TimeofLunch" name="scl_TimeofLunch" class="form-control" minlength="3" placeholder="Minimum 3 characters..." required>
<i class="icon-user"></i>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Total Number Of Student</label>
<label style="color:red;" id="scl_TotalNumberOfStudent_error"></label>
<div class="append-icon">
<input type="text" id="scl_TotalNumberOfStudent" name="scl_TotalNumberOfStudent" class="form-control" placeholder="Enter a number..." required>
<i class="icon-envelope"></i>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">School Picture</label>
<div class="file">
<div class="option-group">
<span class="file-button btn-primary">Choose File</span>
<input type="file" class="custom-file" name="avatar" id="avatar" onchange="document.getElementById('uploader').value = this.value;" required>
<input type="text" class="form-control" name="uploader" id="uploader" placeholder="no file selected" readonly="">
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Admin Name</label>
<label style="color:red;" id="scl_admin_name_error"></label>
<div class="option-group">
<select id="scl_admin_name" name="scl_admin_name" class="language" required>
<option value="">Select Admin...</option>
<option value="EN">1</option>
<option value="FR">2</option>
<option value="SP">3</option>
<option value="CH">4</option>
<option value="JP">5</option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Are you OK with our terms?</label>
<label style="color:red;" id="scl_terms_error"></label>
<div class="option-group">
<label for="terms" class="m-t-10">
<input type="checkbox" name="terms" id="terms" data-checkbox="icheckbox_square-blue" required/>
I agree with terms and conditions
</label>
</div>
</div>
</div>
</div>
<div class="text-center m-t-20">
<button type="submit" id="submit_school" class="btn btn-embossed btn-primary">Sign Up</button>
<button type="reset" class="cancel btn btn-embossed btn-default m-b-10 m-r-0">Cancel</button>
</div>
</form>
Ajax 代码
<script type="text/javascript">
$(document).ready (function(){
$("#frm_add_school").submit ( function(e){
e.preventDefault();
var school_name = $('form #scl_name').val();
var email = $('form #scl_email').val();
var phone = $('form #scl_Phonenumber').val();
var address = $('form #scl_Address').val();
var password = $('form #scl_password').val();
var password2 = $('form #scl_password2').val();
var lunch_time = $('form #scl_TimeofLunch').val();
var no_of_students = $('form #scl_TotalNumberOfStudent').val();
var avatar = $('form #avatar').val();
var scl_admin_name = $('form #scl_admin_name').val();
if(school_name == "" || school_name.length < 3){
$('#scl_name_error').html("</b>Please enter a valid School name.</b>");
}else if(!isValidEmailAddress( email )){
$('#scl_email_error').html("</b>Please enter a valid email.</b>");
}else if(phone == "" || phone.length < 3 ){
$('#scl_Phonenumber_error').html("</b>Please enter a valid phone number.</b>");
}else if(password = "" || password !== password2){
$('#scl_password2_error').html("</b>password combination does not match.</b>");
$('#scl_password_error').html("</b>password combination does not match.</b>");
}else if(lunch_time == "" || lunch_time.length < 3 ){
$('#scl_TimeofLunch_error').html("</b>Please enter a valid lunch time.</b>");
}else if(scl_admin_name==0){
$('#scl_admin_error').html("</b>Please Select a admin.</b>");
}else{
var formData = $('#frm_add_school').serialize();
console.log(formData);
$.ajax({
type:"POST",
dataType: 'json',
url:"<?php echo base_url('administrator/add_school/'); ?>",
data: formData,
success: function(stream) {
console.log(stream.total);
}
});
}
});
});
function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
return pattern.test(emailAddress);
};
</script>
Controller
function add_school(){
$post_data['school_name'] = $this->input->post('scl_name');
$post_data['email'] = $this->input->post('scl_email');
$post_data['phone'] = $this->input->post('scl_Phonenumber');
$post_data['address'] = $this->input->post('scl_Address');
$post_data['password'] = md5($this->input->post('scl_password'));
$post_data['lunch_tim'] = $this->input->post('scl_TimeofLunch');
$post_data['nof_students'] = $this->input->post('scl_TotalNumberOfStudent');
$post_data['admin_name'] = $this->input->post('scl_admin_name');
if($post_data['school_name']){
if($_FILES["avatar"]){
$config = array();
$config['upload_path'] = './school_image/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '10000';
$config['file_name'] = 'lankahomes_21';
$config['overwrite'] = false;
$this->upload->initialize($config);
$this->upload->do_upload('avatar');
$image_data = array('upload_data' => $this->upload->data());
}
}else {
$this->load->view('add_school');
}
}
有人可以帮我在 CodeIgniter 中使用 AJAX 上传图像吗? TNx..
最佳答案
要使用ajax上传文件,请使用formdata
var postData = new FormData(this);
$.ajax({
type:"POST",
dataType: 'json',
url:"<?php echo base_url('administrator/add_school/'); ?>",
data: formData,
type: "POST",
data : postData,
processData: false,
contentType: false,
success: function(stream) {
console.log(stream.total);
}
});
关于javascript - 在 CodeIgniter 中使用 AJAX 提交带有图像的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30392570/
我在 mongodb 中的玩家和锦标赛之间存在多对多关系。 我希望能够一次将许多玩家添加到锦标赛中。如果没有 ajax,这很简单,但我们有一个包含数千名玩家的数据库,因此表单选择变得巨大。 我们想为此
这个问题已经有答案了: When should I use html's and when spring's in Spring MVC web app? (3 个回答) 已关闭 6 年前。 我正
我正在 C++ Builder XE4 上使用 VCL。 我有以下组件。 FormMain 具有 TButton *B_select; FormSelect(或DialogSelect)具有 TCom
如何在不影响表单控件的情况下更改表单的 alphablend? 德尔福XE7 最佳答案 此问题的一个解决方案是使用多设备应用程序(如果无法使用VCL)。 如果您需要保留透明的TForm,只需更改属性T
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在尝试扩展 Django 注册以包含我自己的注册表单。原则上这是相当简单的。我只需要编写自己的表单( CustomRegistrationForm ),它是原始表单( RegistrationFo
我正在尝试为我的网站实现聊天功能。为了做到这一点,我遵循了以下教程:https://channels.readthedocs.io/en/latest/tutorial/ 然后我稍微更改了代码以实现它
有一个问题,我需要用一个 html 表单提交两个相互关联的模型表单。我知道如何提交两个单独的表格,但是在相关模型表格的情况下外键让我发疯。 问题是,第二个表单应该用外键填充字段到第一个表单的实例。 在
我正在创建一个工具,允许某人输入食谱,然后将其保存为 XML 文件,我已经创建了 XSD,但我想知道如何在我的网页上制作一个表单以允许用户输入他们的食谱并遵守模式。我一直在研究 Ajax 和 Jque
在 .net win 表单(如 asp.net web 表单)中是否有可用的验证控件? 因为很难为我的每个控件设置正确的条件,所以我的表单中也有很多重复的代码。 正确的做法是什么? 最佳答案 看看这个
我有一个简短的问题。我正在学习如何使用 javascript 制作注册表,发现此链接非常有用。 http://www.w3resource.com/javascript/form/javascript
我正在开发一个项目,该项目将使用循环将许多表单添加到 mysql 数据库中。在 javascript 部分中,我无法让 var i 在函数 updatesum() 中工作。有人可以帮我吗? 我试图避免
在我的应用程序上有一个包含 2 个字段和一个保存按钮的表单。 在我的 onClick 结束时我需要什么来将光标返回到第一个字段。 我有这个来清除它们 txtData.setText("
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
<input type="text" name="textfield" onKeyPress="javascript:alert(event.
我正在构建的网站有一个登录表单,作为所有其他模板扩展的 base.html 模板的一部分;因此,我需要以某种方式处理每个页面上的登录/注销逻辑。 目前每个页面都在单独的 View 中加载,那么实现它的
我有一个表单类,看起来像.. #forms.py class ExampleForm(forms.Form): color = forms.CharField(max_length=25)
有没有办法在表单定义中给表单一个特殊的错误渲染函数?在 customizing-the-error-list-format 下的文档中它展示了如何为表单提供特殊的错误呈现函数,但似乎您必须在实例化表单
我正在处理由多个页面组成的表单,我想解决验证问题。 当我点击提交按钮时,当前页面上的所有字段都会在下方显示错误消息,但是如果我更改页面,那么我需要再次点击提交,因为这些字段未设置为已触摸。 如果我可以
是否可以附加到继承表单的 exclude 或 widgets 变量? 到目前为止,我有以下设置。 class AddPropertyForm(forms.ModelForm): num_mon
我是一名优秀的程序员,十分优秀!