我有一个简单的表单,只有一个文本字段,其中包含来自MySQL数据库的电子邮件。用户有2个按钮,一个可以完全替换为替换的电子邮件,也可以选择将电子邮件恢复为默认状态,即原始电子邮件。如果您立即将2个按钮与相关文本字段“就地”结合在一起,则一切正常。但是,如果将“重置”按钮放在单独的表格单元格中,则“ onlick”的set-email-back-default功能将停止工作,并且我不知道如何解决该问题。
因为重置按钮位于文本字段旁边,所以会这样工作:
<input name="cc_email" type="text" value="<?php echo !empty($_SESSION["cc-email"]) ? $_SESSION["cc-email"] : $_SESSION['admin_username'];?>" />
<input id="reset-cc" name="add" type="button" value="Set to default" />
这是JavaScript:
$(document).ready(function() {
$('#reset-cc').click(function() {
$(this).siblings('input[name="cc_email"]').val('<?php echo $_SESSION['admin_username'] ?>');
$('#update_cc').submit();
return false;
});
但是,如果我按照以下方式将重置按钮放置在单独的表格单元中,该函数将停止工作,好像它无法再访问文本字段一样:
<td>
<input name="cc_email" type="text" value="<?php echo !empty($_SESSION["cc-email"]) ? $_SESSION["cc-email"] : $_SESSION['admin_username'];?>" />
</td>
<td>
<input id="reset-cc" name="add" type="button" value="Set to default" />
</td>
我假设我需要修改JavaScript,以便即使现在被表单元分隔,它仍然可以访问文本字段,但是我不知道该怎么做。
您的问题出在这里:
$(this).siblings('input[name="cc_email"]')
通过将输入按钮移到另一个TD,它不再是同级产品(如其他答案所示)。您可能只想给按钮一个ID并以这种方式引用它:
//this bit |
// v
<input id="cc_email" name="cc_email" type="text" value="<?php echo !empty($_SESSION["cc-email"]) ? $_SESSION["cc-email"] : $_SESSION['admin_username'];?>" />
//...
$("#cc_email")...
这比进行复杂的父/查找呼叫要容易。此按钮是唯一的,不是吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句