在 .html(' ') 之后通过 jquery 在 div 中显示一个表单;
Posted
技术标签:
【中文标题】在 .html(\' \') 之后通过 jquery 在 div 中显示一个表单;【英文标题】:show a form in div by jquery after .html(' ');在 .html(' ') 之后通过 jquery 在 div 中显示一个表单; 【发布时间】:2016-07-22 07:22:45 【问题描述】:我想在没有重新加载页面的情况下单击按钮时更改 div 内容,并再次显示我的表单
我有这个代码
$('#reg_but').click(function()
$.ajax(
type:'POST',
url:'login.php',
data:
user : document.reg.user.value,
,
success: function(data)
if (data !=0)
$('#my_div').html(data);
)
);
function login_again()
$('#my_div').html(' ');
$('#my_div').html( *here i want show reg form* )
// >> Here i want load again my form (reg form) << This is my problem
<body>
<div id="my_div">
<form name='reg' id='reg'>
<input name="user" class="user" id="user">
<input type="submit" onClick="return reg_but();"
</form>
</div>
<div id="log_out" onClick="login_again()">Login Again & Log Out</div>
</body>
点击提交后显示 login.php 结果,然后点击 login_again() 我想在 my_div 中显示我的表单(reg 表单)。
【问题讨论】:
抱歉,不清楚你想在 login_again 中做些什么。 Ajax 已经在尝试从 Web 显示新的 html。是否要再次复制新的 html? 除此之外,此代码未将处理程序附加到提交按钮,因为缺少 id。尝试返回 false 以防止页面被发布而不是运行 Ajax。对于初学者,我会将您的提交按钮更改为 在您的 html 正文中,将脚本放在最后,否则标签将不存在jQuery 尝试附加处理程序。不过可能还有其他问题。 是的,我想再次复制新的 html。我想再次完整显示 点击再次登录后 【参考方案1】:使用 jquery hide() 和 show()。 jQuery hide()
【讨论】:
【参考方案2】:我通过这段代码解决了我的问题
index.php
$(document).ready(function()
$('#my_div').load('form.html');
);
function reg_but()
$.ajax(
type:'POST',
url:'login.php',
data:
user : $('#user').val(),
,
success: function(data)
if (data !=0)
$('#my_div').html(data);
)
;
function login_again()
$('#my_div').html(' ');
$('#my_div').load('form.html');
<body>
<div id="my_div"></div>
<div id="log_out" onClick="login_again()">Login Again & Log Out</div>
</body>
form.html
<input name="user" class="user" id="user">
<input type="submit" onClick="return reg_but();">
【讨论】:
以上是关于在 .html(' ') 之后通过 jquery 在 div 中显示一个表单;的主要内容,如果未能解决你的问题,请参考以下文章
如果在所有页面 HTML 之后加载 jQuery 脚本,它们是不是仍然需要 $(document).ready?
IE+jQuery+Ajax+XHTML:HTML 在 .html() 或 .innerHTML 之后被剪切