我有一个问题,我不确定它在哪里,我有一个将数据发布到 php 文件并获取 HTML 输出的脚本,然后我想过滤它以仅使用页面的一部分。
我的脚本看起来像这样
var newsletter_form = $(".newsletter_signup_form");
var newsletter_firstname = $("#newsletter_firstname");
var newsletter_surname = $("#newsletter_surname");
var newsletter_email = $("#newsletter_email");
newsletter_form.submit(function(){
$.post("news_signup.php", $(".newsletter_signup_form").serialize(), function( response ) {
console.log(response);
var newletter_messages = $( response ).filter( ".messages" );
$( ".newsletter_messages" ).html( newletter_messages );
}).done( function() { console.log( "DONE" ); } );
return false;
});
我的 PHP 文件是这样的,它是基本的并且不使用任何 PHP 但我只是想获得响应(这也是我 console.log 时响应的样子)
<!doctype html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<div class="newsletter_form">
<form action="" class="newsletter_signup_form">
<ul>
<li>
<input type="text" name="newsletter_firstname" id="newsletter_firstname" placeholder="First Name" />
</li>
<li>
<input type="text" name="newsletter_surname" id="newsletter_surname" placeholder="Surname" />
</li>
<li>
<input type="email" name="newsletter_email" id="newsletter_email" placeholder="Email Address" />
</li>
<li>
<button name="join_btn">Join</button>
</li>
</ul>
</form>
<div class="messages">
Something
</div>
</div>
</body>
</html>
这是用于输出响应的 HTML
<div class="newsletter_messages">
Loading....
</div>
所以我想从响应中获取“.messages”并用响应更新.“newsletter_messages”。
console.log 显示完整的 HTML 正在返回到 Javascript,但是当我过滤并尝试更新 HTML 时,它只是空白。
我觉得我没有正确使用 filter() 的 html() 方法。我还在学习 Jquery。另外,我还有另一个 post 方法,它只为不同的 for 做同样的事情,该方法与 filter() 和 html() 调用一起工作得很好。对于这个例子,我已经注释了所有其他 Jquery 代码,以防万一它弄乱了它,但仍然没有。
谁能发现它或指出我正确的方向?
非常感谢你的帮助