gpt4 book ai didi

javascript - jQuery .serialize() 返回空

转载 作者:行者123 更新时间:2023-11-30 09:00:22 25 4
gpt4 key购买 nike

我在表格中有这个表格:

<table id="fields">
<form method="post" id="accountform"></form>
<tbody><tr><td class="key">First Name:</td><td class="value">bla bla</td></tr>
<tr><td class="key">Last Name:</td><td class="value">bla bla</td></tr>
<tr><td class="key">Email:</td><td class="editable"><input type="text" class="textbox" value="blabla" name="input0"></td></tr>
<tr><td class="key">Cell Number:</td><td class="editable"><input type="text" class="textbox" value="123-456-7890" name="input1"></td></tr>
<tr><td class="key">Extension:</td><td class="editable"><input type="text" class="textbox" value="1234" name="input2"></td></tr>
<tr><td class="key">Authority Level:</td><td class="value">Admin</td></tr>
<tr><td align="right" colspan="2"><input type="submit" value="Save" id="submit"></td></tr>
</tbody></table>

Javascript/jQuery:

$(document).ready(function(){
$("form#accountform").submit(function() {
alert($(this).serialize());
});
});

当我提交表单时,警报显示为空白。 :|我真的不知道为什么会这样。每个文本框都有一个名称。我以前序列化过与此类似的表格(在表格内)。

编辑:这是“原始”HTML(在 jQuery 和浏览器对其进行编辑之前):

<table id="fields">
<form method="post" id="accountform" action="">
<tr><td class="key">First Name:</td><td class="value"><?php echo $_SESSION['firstname']; ?></td></tr>
<tr><td class="key">Last Name:</td><td class="value"><?php echo $_SESSION['lastname']; ?></td></tr>
<tr><td class="key">Email:</td><td class="editable"><?php echo $_SESSION['email']; ?></td></tr>
<tr><td class="key">Cell Number:</td><td class="editable"><?php echo formatPhone($_SESSION['phone']); ?></td></tr>
<tr><td class="key">Extension:</td><td class="editable"><?php echo $_SESSION['ext']; ?></td></tr>
<tr><td class="key">Authority Level:</td><td class="value"><?php echo authToName($_SESSION['auth']); ?></td></tr>
<tr><td align="right" colspan="2"><input type="submit" value="Edit" id="submit"/></td></tr>
</form>
</table>

这是用文本框替换文本的 jQuery:

$("td.editable").each(function(index) {
$(this).html("<input type='text' class='textbox' value='"+$(this).html()+"' name='input"+index+"'/>");
})

最佳答案

问题肯定是标记:

<table id="fields">
<form method="post" id="accountform" action=""> <!-- Form does not go in the table -->
<tr>...</tr>
...
<tr>...</tr>
</form> <!-- Form does not go in the table -->
</table>

将您的 table 包裹在 <form> 中标签而不是将它们放在表格中。

<form method="post" id="accountform" action="">
<table id="fields">
<tr><td class="key">First Name:</td><td class="value"><?php echo $_SESSION['firstname']; ?></td></tr>
<tr><td class="key">Last Name:</td><td class="value"><?php echo $_SESSION['lastname']; ?></td></tr>
<tr><td class="key">Email:</td><td class="editable"><?php echo $_SESSION['email']; ?></td></tr>
<tr><td class="key">Cell Number:</td><td class="editable"><?php echo formatPhone($_SESSION['phone']); ?></td></tr>
<tr><td class="key">Extension:</td><td class="editable"><?php echo $_SESSION['ext']; ?></td></tr>
<tr><td class="key">Authority Level:</td><td class="value"><?php echo authToName($_SESSION['auth']); ?></td></tr>
<tr><td align="right" colspan="2"><input type="submit" value="Edit" id="submit"/></td></tr>
</table>
</form>

工作 fiddle (将纯文本值替换为您的 PHP 代码将替换的内容)。

关于javascript - jQuery .serialize() 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9746897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com