我已经使用Jquery $ .get动态创建了一个表单,现在我想使用另一个$ .get提交表单,但是表单字段的值显示为undefined。我一直在阅读如何使用.on()句柄,但似乎无法使其与我的代码一起使用。
我的第一个脚本:
function getMark(uslID){
$('#usOut').html('<p style="text-align:center;"><img src="<?php echo site_url().'images/ajax-loader-fb.gif'; ?>" /></p>');
$.get("../../class/class.clients.php", {pk: uslID, get: "2"})
.done(function(data) {
$("#usOut").html(data);
});
}
生成的HTML:
<div id="usOut">
<div style="text-align:center;">
<h3>Mark US</h3>
<div id="usl1-contents" class="uslContents styled_form">
<table width="100%" cellpadding="0" cellspacing="2" border="0" class="uslContentsTable tableMid">
<tbody>
<tr>
<td width="20%"><label for="usl1-certNum">Cert#:</label></td>
<td><input type="text" id="usl1-certNum" name="usl1-certNum" class="validate[required,minSize[4]]" placeholder="12345" style="width:285px;" required="" /><span class="form_hint">Enter the Certificate Number</span></td>
</tr>
<tr>
<td><label for="usl1-issued">Issued:</label></td>
<td><input type="text" id="usl1-issued" name="usl1-issued" class="datePicker hasDatepicker" required="" /><img class="ui-datepicker-trigger" src="/portal/images/icons/cal-clock-icon-16x16.png" alt="..." title="..." /><span class="form_hint">Enter the Date the Certificate/Endorsement was Issued</span><input type="hidden" id="altusl1-issued" name="altusl1-issued" class="datePickerAlt" required="" /></td>
</tr>
<tr>
<td><label for="usl1-expiry">Expires:</label></td>
<td><input type="text" id="usl1-expiry" name="usl1-expiry" class="datePicker hasDatepicker" /><img class="ui-datepicker-trigger" src="/portal/images/icons/cal-clock-icon-16x16.png" alt="..." title="..." /><span class="form_hint">Enter the Date the Certificate/Endorsement Expires</span><input type="hidden" id="altusl1-expiry" name="altusl1-expiry" class="datePickerAlt" /></td>
</tr>
<tr>
<td colspan="2"><input name="doComplete" type="button" id="doComplete" value="Save" class="form-button" onclick="markUS('1')" /></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
我的第二个脚本:
function markUS(uslID){
$('#usOut').html('<p style="text-align:center;"><img src="<?php echo site_url().'images/ajax-loader-fb.gif'; ?>" /></p>');
var $certNum = $("#usl"+uslID+"-certNum").val();
var $issuedDate = $("#altusl"+uslID+"-issued").val();
var $expiryDate = $("#altusl"+uslID+"-expiry").val();
if($certNum!=undefined && $issuedDate!=undefined || $certNum!="" && $issuedDate!="") {
$.get("../class/class.clients.php", {pk: uslID, multivalues: $certNum+','+$issuedDate+','+$expiryDate, get: "3"})
.done(function(data) {
$('#usOut').html('<tr><td colspan="6" style="text-align:center;">'+data+'<br/><img src="<?php echo site_url().'images/ajax-loader-fb.gif'; ?>" /></td></tr>');
$.get("../../class/class.clients.php", {client: "<?php echo $client_id; ?>", get: "4"})
.done(function(data) {
$("#usOut").html(data);
});
});
}
};
表单开始提交,但是$certNum
,$issuedDate
和$expiryDate
都以undefined
出现。其他一切都很好。谁能向我解释如何使它起作用以及为什么该过程起作用?谢谢。 🙂
参考方案
在从元素中获取值之前,请销毁这些元素(使用$('#usOut').html
),检索这些值,然后显示加载图像。
function markUS(uslID){
var $certNum = $("#usl"+uslID+"-certNum").val();
var $issuedDate = $("#altusl"+uslID+"-issued").val();
var $expiryDate = $("#altusl"+uslID+"-expiry").val();
$('#usOut').html('<p style="text-align:center;"><img src="<?php echo site_url().'images/ajax-loader-fb.gif'; ?>" /></p>');
if($certNum!=undefined && $issuedDate!=undefined || $certNum!="" && $issuedDate!="") {
$.get("../class/class.clients.php", {pk: uslID, multivalues: $certNum+','+$issuedDate+','+$expiryDate, get: "3"})
.done(function(data) {
$('#usOut').html('<tr><td colspan="6" style="text-align:center;">'+data+'<br/><img src="<?php echo site_url().'images/ajax-loader-fb.gif'; ?>" /></td></tr>');
$.get("../../class/class.clients.php", {client: "<?php echo $client_id; ?>", get: "4"})
.done(function(data) {
$("#usOut").html(data);
});
});
}
}
如何在提交时关闭fancybox…需要帮助 - php当用户提交表单时,我真的需要关闭此弹出框(fancybox)...现在,它会在2秒后重定向到相同的表单(signup.php),但我想说的是“谢谢”消息,然后关闭框...<h1>SIGN UP</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.&…
代码未在服务器目录php中创建文件 - php我正在尝试使用以下代码将新文件写入服务器error_reporting(E_ALL); ini_set('display_errors', 1); if($_SERVER['REQUEST_METHOD'] == "POST") { $html = $_POST['html'];…
CodeIgniter更新查询被执行两次 - php我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…
故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…
通过php表单修改我的xml文件 - php这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…