我遇到了一些Ajax功能问题.
我有一个下拉列表,需要在选项更改时更新记录.这是Javascript的片段:
function changeResponsibleParty(selectObj, targetDiv){
var idx = selectObj.selectedIndex;
var which = selectObj.options[idx].value;
target = document.getElementById(targetDiv);
target.value = which;
document.forms["changeResponsibleParty"].submit();
}
Run Code Online (Sandbox Code Playgroud)
和HTML:
<form name="changeResponsibleParty" action="javascript:changeResponsiblePartyAjax('project_todos');" method="post" style="display:inline;">
<input type="hidden" name="todo_id" id="todo_id_15" value="15" />
<input type="hidden" name="project_id" id="project_id_15" value="2" />
<input type="hidden" name="user_id" id="user_id_15" value="" />
<select name="user_id_pick" id="user_id_pick_15" onchange="changeResponsibleParty(this, 'user_id_15');" style="border:0;">
<option value="0">Anyone</option>
<option value="1" selected="selected">Allen McCabe</option>
<option value="2">Thomas Martinez</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
我正在使用该函数更新隐藏的输入元素,因为由于某种原因,无论我选择哪个选项,标记都是1(1是我的user_id,如果数据库记录值为1,我将其设置为选中).
谁能看到这里有什么问题?
特别是08和09给我带来了一些重大麻烦.这是一个PHP错误吗?
说明:我在客户的几个站点上有一个日历'小部件',我们有一个HTML硬编码的日历(我知道PHP函数可以生成n个月,但老板的人说'不').
在每一天,有一个PHP函数来检查当天的事件,通过当月的当天如下:
<td valign="top">01<?php printShowLink(01, $events) ?></td>
Run Code Online (Sandbox Code Playgroud)
$ events是该月所有事件的数组,该函数检查当天是否有事件:
function printShowLink($dayOfMonth, $eventsArray) {
$show = array();
$printedEvent = array();
$daysWithEvents = array();
foreach($eventsArray as $event) {
if($dayOfMonth == $event['day'] && !in_array($event['id'], $printedEvent)){
if(in_array($event['day'], $daysWithEvents)) {
echo '<hr class="calendarLine" />';
} else {
echo '<br />';
}
$daysWithEvents[] = $event['day']; // string parsed from timestamp
if($event['linked'] != 1) {
echo '<div class="center cal_event '.$event['class'].'" id="center"><span title="'.$event['title'].'" style="color:#666666;">'.$event['shorttitle'].'</span></div>';
$printedEvent[] = $event['id'];
} else {
echo '<div class="center cal_event '.$event['class'].'" id="center"><a href="event.php?id='.$event['id'].'" …Run Code Online (Sandbox Code Playgroud) 我有以下示例查询(MySQL):
SELECT * FROM `action`
WHERE `customer_id` IN
(SELECT `id` FROM `customer` WHERE `status`=1)
ORDER BY
action.date ASC
LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
我需要能够通过customer.status字段进行排序.我是通过加入来实现这一目标的吗?
status是customer桌子上的一个字段.
编辑查询:
SELECT * FROM `action`
ORDER BY
action.date ASC
LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
重要!
我正在通过PHP解析返回数据.运行修改后的查询后:
SELECT * FROM `action` a INNER JOIN `customer` c ON a.customer_id = c.id ORDER BY a.form_id ASC LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
我的PHP代码中断...
这篇文章帮助了我.
我修改后的查询如下所示:
SELECT
*, a.id AS lead_id, c.id AS customer_id
FROM
`action` a
INNER JOIN
`customer` c ON …Run Code Online (Sandbox Code Playgroud) 我正在编写一个简单的联系表单,以下代码给我带来了麻烦:
if(!strlen($_POST['lastname']) > 0){
echo '<p class="message error">Please enter the parent\'s last name.</p>';
}
if(!strlen($_POST['comments']) > 5){
echo '<p class="message error">Please tell us a little more in the comments field.</p>';
}
Run Code Online (Sandbox Code Playgroud)
相关表格要素:
<textarea name="comments" cols="60" rows="5"><?=(isset($_POST['comments']) ? $_POST['comments'] : '')?></textarea>
Run Code Online (Sandbox Code Playgroud)
当我将两个字段留空时,只显示第一条错误消息(以及其他未显示的消息),而评论字段的消息则不显示.
如果我提交少于5个字符的注释字段,错误检查甚至会返回错误,但错误消息不会打印.另外,当我提交空白并打印出0时,我甚至回应了注释字段的strlen().
任何人都可以看到这里的问题是什么?