gpt4 book ai didi

php - 使用 Jquery 定位 PHP 输出的元素

转载 作者:行者123 更新时间:2023-11-29 08:30:38 25 4
gpt4 key购买 nike

首先我将显示代码。它有 2 页,第一页我们称为“form.php”,第二页我们称为“display.php”。

<小时/>

FORM.PHP

class display {

var $host;
var $username;
var $password;
var $table;

public function display_public() {
$q = "SELECT * FROM agend_items ORDER BY created DESC LIMIT 3";
$r = mysql_query($q);

if ( $r !== false && mysql_num_rows($r) > 0 ) {
while ( $a = mysql_fetch_assoc($r) ) {
$date = stripslashes($a['date']);
$bodytext = stripslashes($a['bodytext']);
$time = stripslashes($a['time']);
$entry_display .= <<<ENTRY_DISPLAY

<h1>00:59</h1>
<div class="post" name="post" >
<h2 name="date">
$date
</h2>
<h3 class="time">
$time
</h3>
<p id="agenda">
$bodytext
</p>
</div>

ENTRY_DISPLAY;
}
} else {
$entry_display = <<<ENTRY_DISPLAY

<h2> This Page Is Under Construction </h2>
<p>
No entries have been made on this page.
Please check back soon, or click the
link below to add an entry!
</p>

ENTRY_DISPLAY;
}
$entry_display .= <<<ADMIN_OPTION

<p class="admin_link">
<a href="{$_SERVER['PHP_SELF']}?admin=1">Add a New Entry</a>
</p>

ADMIN_OPTION;

return $entry_display;
}

public function display_admin() {
return <<<ADMIN_FORM

<form action="{$_SERVER['PHP_SELF']}" method="post">

<label for="date">Date:</label><br />
<input name="date" id="date" type="date" maxlength="8" />
<div class="clear"></div>

<label for="time">Time:</label><br />
<input name="time" id="time" type="time" maxlength="8" />
<div class="clear"></div>

<label for="bodytext">Body Text:</label><br />
<textarea name="bodytext" id="bodytext"></textarea>
<div class="clear"></div>

<input type="submit" value="Input Agenda Item" />
</form>

<br />

<a href="display.php">Back to Home</a>

ADMIN_FORM;
}

public function write($p) {
if ( $_POST['date'] )
$date = mysql_real_escape_string($_POST['date']);
if ( $_POST['time'] )
$time = mysql_real_escape_string($_POST['time']);
if ( $_POST['bodytext'])
$bodytext = mysql_real_escape_string($_POST['bodytext']);
if ( $date && $bodytext && $time ) {
$created = time();
$sql = "INSERT INTO agend_items VALUES('$date','$bodytext','$created','$time')";
return mysql_query($sql);
} else {
return false;
}
}

public function connect() {
mysql_connect($this->host,$this->username,$this->password) or die("Could not connect. " . mysql_error());
mysql_select_db($this->table) or die("Could not select database. " . mysql_error());

return $this->buildDB();
}

private function buildDB() {
$sql = <<<MySQL_QUERY
CREATE TABLE IF NOT EXISTS agend_items (
date VARCHAR(12),
bodytext TEXT,
created VARCHAR(100),
time VARCHAR(8)
)
MySQL_QUERY;

return mysql_query($sql);
}

}

?>
<小时/>

DISPLAY.PHP

$(document).ready(function(){ 
$('button').mousedown(function(){

if ($('h3').text() == "00:59") {
alert("Yup"); return true;}
else { alert("Nope");return false;};
});
});
</script>
</head>

<body>

<?php

include_once('_class/form.php');
$obj = new form();
$obj->host = 'localhost';
$obj->username = '*****';
$obj->password = '*****';
$obj->table = 'agend_items';
$obj->connect();

if ( $_POST )
$obj->write($_POST);

echo ( $_GET['admin'] == 1 ) ? $obj->display_admin() : $obj->display_public();

?>
<?php
setlocale(LC_ALL,"hu_HU.UTF8");
echo(strftime("%Y. %B %d. %A. %X %Z"));
?>

<button>Check Work</button>
<小时/>

输出为:00:59(第一个小时)2013-05-24 (半小时)00:59 (h3)这是文本 (p)

<小时/>

我遇到的问题是,如果我运行 jquery 脚本,它总是会在使用 $time、$date、$bodytext 创建的 h2、h3、p 上返回 false。

如果在 h1 中我只是简单地告诉 php h1 是“00:59”,代码就会完美执行。

如果h3中输出的时间是00:59,并且我使用jquery搜索它每次都返回false,如果我搜索日期或正文文本也是如此。

如果代码搜索 php 变量 $time、$date、$bodytext 之一输出的文本,似乎每次都会失败。我不明白为什么它找不到这个。 DOM 元素应该都在那里供其查找..

您可以忽略 h1,插入它只是为了检查 jquery 脚本是否以最简单的形式工作,它确实如此。仅当定位使用从数据库获取的信息创建的元素文本时才会出现这种情况

最佳答案

尝试将每个元素放在一行中,因此 H2 应该这样写,不要换行:

<h2 name="date">$date</h2>

这可能有助于 .text 准确找到日期字符串,而不会被多余的空格或行尾字符绊倒。

我还建议您使用 console.log() 来查看它实际看到的内容:

console.log( $('h2').text() );

关于php - 使用 Jquery 定位 PHP 输出的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16729787/

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