gpt4 book ai didi

javascript - 当我发布到页面时,javascript 函数不工作

转载 作者:行者123 更新时间:2023-11-30 17:32:15 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题......当我第一次加载页面时这完全有效:

<script type="text/javascript">
jQuery(function($){
$("#phone").mask("(999) 999-9999");
});
</script>

但是如果我尝试使用“添加”或“删除”按钮再次发布到同一页面,上述功能将不再起作用。在其他作品中,电话字段会在页面首次加载时进行完善和过滤,但当您尝试添加更多俱乐部字段时,电话过滤器不再起作用。为什么电话字段不再被屏蔽,我是不是做错了什么?

<!DOCTYPE html>
<html lang="en">
<head>

<!-- Basic Page Needs -->

<meta charset="utf-8">
<title>Test Page</title>
<meta http-equiv="cache-control" content="no-cache"/>
<!-- Mobile Specific Metas -->

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<!-- css -->
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/framework.css">

<!-- Scripts -->
<script src="https://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script>
<script src="maskedinput.js" type="text/javascript"></script>

<script type="text/javascript">
jQuery(function($){
$("#phone").mask("(999) 999-9999");
});
</script>

</head>

<body>
<div data-role="page">
<!-- header -->
<div data-role="header" class="page-header">

</div>
<!--/header -->

<form style="" method="POST">
<fieldset style="text-align: center;">
<label for="phone">Cell Phone</label>
<input type="tel" id="phone" style="" value="<?php if(isset($_POST['phone'])) echo $_POST['phone'];?>" name="phone" />


<br />
<?php

if(isset($_POST['add']))
$_POST['club_num']++;
if(isset($_POST['remove']) && $_POST['club_num'] > 1)
$_POST['club_num']--;
if(!isset($_POST['club_num']))
$_POST['club_num'] = 1;

?>

<input type="hidden" value="<?php if(isset($_POST['club_num'])) echo $_POST['club_num'];?>" name="club_num" />
<h3 style="font-size: 1.5em; margin-top: 40px;">Are you in a Club?</h3>
<?php

$count = 0;
do {
$count++;
?>

<label for="clubs<?=$count?>"><?=$count?>. Club</label>

<input type='text' id="clubs<?=$count?>" name="clubs<?=$count?>" value="<?php if(isset($_POST['clubs'.$count])) echo $_POST['clubs'.$count];?>" />
<?php if($count == $_POST['club_num']){ ?>
<div style="text-align: center; display: inline-block;" data-type="horizontal" data-role="controlgroup" data-mini="true">
<input data-theme="e" data-icon="plus" type="submit" name="add" value="Add" />
<input data-theme="e" data-icon="minus" <?=($_POST['club_num']==1)?'disabled="disabled"':''?> data-iconpos="right" type="submit" name="remove" value="Remove"/>
</div>
<?php
}
} while ($count < $_POST['club_num']);
?>
</fieldset>
</form>
<br />

<!-- footer -->
<div data-role="footer" class="footer">
<div class="ui-grid-solo">
<div class="ui-block-a">
<div class="ui-bar ui-bar-e" style="height:120px">
</div>
</div>
</div>
</div>
<!-- /footer -->
</div>
<!-- /page -->
</body>
</html>

最佳答案

按下其中一个按钮时,使用 AJAX 重新加载页面内容。这意味着原始元素“#phone”(您将屏蔽函数绑定(bind)到)被替换。

我看不到你从哪里发出 AJAX 请求,但你需要再次调用 $("#phone").mask("(999) 999-9999");页面重新加载后。

关于javascript - 当我发布到页面时,javascript 函数不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22772123/

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