gpt4 book ai didi

javascript - 如何防止我的超链接刷新页面?

转载 作者:行者123 更新时间:2023-11-28 19:17:42 25 4
gpt4 key购买 nike

大家好,我正在使用 javascript 在页面上弹出表单。该表单被包含在内,而不是直接成为页面的一部分。

当我单击超链接时,该表单仅显示一秒钟然后消失。如果我在同一页面中创建表单而不是将其作为 php 文件包含进来,它就会起作用。

我相信是超链接刷新了页面。如何防止我的超链接刷新页面?

<?php < scripttype = "text/javascript" >
function deselect(e)
{
$('.popUp') . slideFadeToggle(
function ()
{
e . removeClass('selected');
});
}

$(
function ()
{
$('#edit') . on('click',
function ()
{
if ($(this) . hasClass('selected'))
{
deselect($(this));
}
else
{
$(this) . addClass('selected');
$('.pop') . slideFadeToggle();
}

return false;
});
$('.close') . on('click',
function ()
{
deselect($('#edit'));
return false;
});
});
$ . fn . slideFadeToggle =
function (easing, callback)
{
return this . animate(
{
opacity:
'toggle', height:
'toggle'
}

, 'fast', easing, callback);
};
</script>

这是位于单独文件中的表单...

<div id="contactInfoDiv" class="fluid popUp">
<form id="updateForm" method="post" action="editContact.php">
<pre>
First Name: <input type="text" name="firstName" value="<?php echo $firstname;?>"><br>
Last Name: <input type="text" name="lastName" value="<?php echo $lastname;?>"><br>
Address: <input type="text" name="address" value="<?php echo $address;?>"><br>
Phone: <input type="text" name="phone" value="<?php echo $phone;?>"><br>
Email: <input type="email" name="email" value="<?php echo $email;?>"><br>
<input type="submit" name="update" value="Update"><br>
</pre>
</form>
</div>

编辑

我想做的只是包含上面的表单,如下所示:

<?php include("editContact.php");

<a href="userProfile.php" id="edit">Edit</a>

更新:

我添加了 e.preventDefault() ,如下所示:

 <script type="text/javascript">
function deselect(e) {

$('.pop').slideFadeToggle(function() {
e.removeClass('selected');

});
e.preventDefault();
}

$(function() {
$('#edit').on('click', function() {
if($(this).hasClass('selected')) {
deselect($(this));
} else {
$(this).addClass('selected');
$('.pop').slideFadeToggle();
}
return false;
});

$('.close').on('click', function() {
deselect($('#edit'));
return false;
});
});

$.fn.slideFadeToggle = function(easing, callback) {
return this.animate({ opacity: 'toggle', height: 'toggle' }, 'fast', easing, callback);
};

最佳答案

要防止 jQuery 链接的默认行为,您可以使用以下命令启动函数:

$("#edit").on("click", function(e){
e.preventDefault();
}

关于javascript - 如何防止我的超链接刷新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29497425/

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