我在工作中正在处理表单验证脚本,并且遇到了一些困难.该表单旨在确保用户填写姓名,真实的电子邮件,类别(从他下拉)和问题:
这会命名表单并从表单中收集所有数据:
<script>
function checkForm(form1) {
name = document.getElementById("FieldData0").value;
category = document.getElementById("FieldData3").value;
question = document.getElementById("FieldData1").value;
email = document.getElementById("FieldData2").value;
Run Code Online (Sandbox Code Playgroud)
这将检查"名称"字段中是否存在某些内容.它工作正常并完全按照它应该验证,显示错误文本:
if (name == "") {
hideAllErrors();
document.getElementById("nameError").style.display = "inline";
document.getElementById("FieldData0").select();
document.getElementById("FieldData0").focus();
return false;
Run Code Online (Sandbox Code Playgroud)
这也可以像它应该的那样工作.它会检查电子邮件字段是否为空,如果为空,则显示错误文本并选择该字段:
} else if (email == "") {
hideAllErrors();
document.getElementById("emailError").style.display = "inline";
document.getElementById("FieldData2").select();
document.getElementById("FieldData2").focus();
return false;
}
Run Code Online (Sandbox Code Playgroud)
这也可以像它应该的那样工作,确保问题字段不为空:
else if (question == "") {
hideAllErrors();
document.getElementById("questionError").style.display = "inline";
document.getElementById("FieldData1").select();
document.getElementById("FieldData1").focus();
return false;
}
Run Code Online (Sandbox Code Playgroud)
这部分工作 - 如果没有选择下拉列表,它将显示错误消息,但这不会阻止表单提交,它只是在表单提交时显示错误文本:
else if (category == "") {
hideAllErrors();
document.getElementById("categoryError").style.display = "inline";
document.getElementById("FieldData3").select();
document.getElementById("FieldData3").focus(); …Run Code Online (Sandbox Code Playgroud) 在工作中,我经常需要弄清楚我们的流量来自哪里。我们购买谷歌广告,流量通过网址中的查询字符串来识别。(mywebsite.com/?x="google_ad_group_4")。
在每个页面上,我都包含一些会话内容,如果 $_GET['x'] 存在,则将 $_SESSION['x'] 设置为 $_GET['x'] 。如果没有 $_GET['x'] 我会通过一些其他选项来查看它们来自哪里并将其设置在 $_SESSION['x'] 中:
$refurl = parse_url($_SERVER['HTTP_REFERER']);
$query = $refurl['query'];
parse_str($query, $result);
if (isset($result['q'])&& strstr($_SERVER['HTTP_REFERER'],'google')) {
$_SESSION['x'] = 'G-'.str_replace('\\"',"X",$result['q']);
}elseif (isset($result['p'])&& strstr($_SERVER['HTTP_REFERER'],'yahoo')) {
$_SESSION['x'] = 'Y-'.$result['p'];
//took out bing, aol, ask etc in the name of brevity
}else{
if ($refurl['host']){
$_SESSION['x'] = $_SESSION['x'].'_ref-'.$refurl['host'];
}
}
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我可以附加将用户带到该网站的搜索查询以及他们使用的搜索引擎。我记录传入的 $_SESSION['x']。
许多用户都带着“_ref-mywebsite.com”的 $_SESSION['x'] 进来,这是没有意义的,如果他们来自我自己的域,他们就已经有一个 $_SESSION[' x'] 设置在他们所在的任何页面上。这是因为他们的浏览器安全性很高还是什么?
我错过了一些明显的东西吗?有没有更聪明的方法来做到这一点?
我使用这样的Click侦听器,以便单击链接到link.php将执行一些代码:
document.addEventListener('click', function(e) {
var tre = e.target.href || '';
if( tre.indexOf("link.php") > -1) {
alert('it worked');
}
}, false);
Run Code Online (Sandbox Code Playgroud)
这有效:
<a href="/link.php?destination=1" target="_blank">
link text
</a>
Run Code Online (Sandbox Code Playgroud)
但是点击图片或div不会:
<a href="/link.php?destination=1" target="_blank">
<img src="/image.jpg">
<span>link text</span>
</a>
Run Code Online (Sandbox Code Playgroud)
因为点击是在图片和跨度上,而不是<a>标签上。使这项工作最简单的方法是什么?
好吧,这可能听起来像一个愚蠢的问题,但请耐心等待.我试图这样做,以便当人们去example.php?id = 1,example.php?id = 2,example.php?id = 3等他们看到从填充空白的包含文件中调用的不同数据.
我有一个名为$ offername的变量,我想在该空间中显示$ offer1name,$ offer2name,$ offer3name,具体取决于$ _GET ['id']所说的内容.理想情况下,当有人转到example.php?id = 2时,$ offername将等于$ offer2name.
我想做这样的事情:
$ offername = $ offer.$ _ GET ['id'].姓名
但当然这不起作用.我该怎么办?
我想使用某人用来查找我的页面的查询,这些查询位于引用页面的URL $ GET _ ['q'](以及yahoo $ GET _ ['p']).我该怎么用?我想要一些像$ query = REFERRING PAGE($ GET _ ['q'])的东西,但我无法弄清楚说出来的方式.
我在MySQL中有一个datetime列让我们调用它$time.它将以CakePHP形式出现.如果我试图回应它,我得到的只是"阵列".如果我print_r()在上面,我得到:
Array ( [month] => 10 [day] => 30 [year] => 2010 [hour] => 16 [min] => 30 )
Run Code Online (Sandbox Code Playgroud)
我希望将此作为格式化日期回应,似乎没有任何效果,因为它不是字符串而是数组.我必须这样:
echo $time['month'].'-'.$time['day'].'-'.$time['year'].' '.$time['hour'].':'.$time['min'];
Run Code Online (Sandbox Code Playgroud)
或者我可以使用该date功能吗?
我有多个域在单独的子文件夹中有多个jQuery.js副本.我想巩固它们,所以只有一个,所以在一个域中没有引用到另一个域,所以我可以使用相同的工作和个人.
此外,我不想使用符号链接,因为我将在今年某个时候移动服务器,我觉得很多符号链接可能会使事情复杂化.我有一个想法,而不是在HTML中:
<script src="js/jquery.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
去做这个:
<script src="jquery_min_js.php" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
该文件将如下所示:
<?php echo '/home/path/to/js_files/js/jquery.min.js' ?>
Run Code Online (Sandbox Code Playgroud)
有更聪明的方法吗?我想以某种方式使功能如此
<script src="get_javascript.php?script=jquery_min_js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
然后get_javascript.php可能看起来像:
<?php echo '/home/path/to/js_files/js/'.str_replace('_','.',$_GET['script']).'.js' ?>
Run Code Online (Sandbox Code Playgroud)
我吠叫错了树吗?我甚至在正确的森林里吗?
你们昨天非常有帮助.不过我在这里仍然有点困惑.
我想这样做,以便最右边一列的数字四舍五入到最接近的美元:
http://www.nextadvisor.com/voip_services/voip_calculator.php?monthlybill=50&Submit=Submit
该表的代码如下所示:
我想要$ offer [1,2,3,4,5,6,7] calcsavingsann四舍五入,怎么办呢?
<table width="100%;" border="0" cellspacing="0" cellpadding="0"class="credit_table2" >
<tr class="credit_table2_brd">
<td class="credit_table2_brd_lbl" width="100px;">Services:</td>
<td class="credit_table2_brd_lbl" width="120px;">Our Ratings:</td>
<td class="credit_table2_brd_lbl" width="155px;">Monthly VoIP Bill:</td>
<td class="credit_table2_brd_lbl" width="155px;">Annual Savings:</td>
</tr>
<?php
$offer1price="24.99";
$offer2price="20.00";
$offer3price="21.95";
$offer4price="23.95";
$offer5price="19.95";
$offer6price="23.97";
$offer7price="24.99";
$offer1calcsavings= $monthlybill - $offer1price;
$offer2calcsavings= $monthlybill - $offer2price;
$offer3calcsavings= $monthlybill - $offer3price;
$offer4calcsavings= $monthlybill - $offer4price;
$offer5calcsavings= $monthlybill - $offer5price;
$offer6calcsavings= $monthlybill - $offer6price;
$offer7calcsavings= $monthlybill - $offer7price;
$monthybill="monthlybill";
$offer1calcsavingsann= $offer1calcsavings * 12;
$offer2calcsavingsann= $offer2calcsavings * 12;
$offer3calcsavingsann= $offer3calcsavings …Run Code Online (Sandbox Code Playgroud) 我正在尝试采用以下格式的时间戳:
2009-11-16T14:05:22-08:00
并把它们变成类似的东西
2009-11-16
如何删除"T"后的所有内容?
当我更换
$ordering = "apples, bananas, cranberries, grapes";
Run Code Online (Sandbox Code Playgroud)
同
$ordering = "apples, bananas, grapes";
Run Code Online (Sandbox Code Playgroud)
我不再希望我的查询返回蔓越莓了,我已经这样写了:
$query = "SELECT * from dbname where FruitName LIKE '$ordering'";
Run Code Online (Sandbox Code Playgroud)
当然这不起作用,因为我使用了LIKE错误.我已经阅读了各种描述如何使用LIKE的手册,这对我来说并没有多大意义.
如果我将数据库的末尾更改为"LIKE"apple"",它可以将其限制为仅限于苹果.我是否必须在","上分解排序,或者在查询中是否有办法执行此操作?