我在一个不同的问题和答案中找到了这个片段,它检测变量值是否与前一个循环中的变量值相同.
$prevValue = NULL;
while(condition) {
if ($curValue == $prevValue) {
//do stuff
}
$prevValue = $curValue;
}
Run Code Online (Sandbox Code Playgroud)
但是我想做的是检查变量值是否在循环之前使用过,但是循环中的任何地方都是如此,所以如果值发生在1或2或10循环前我想让它告诉我变量值是否有以前通过循环.
我有以下形式和 div 和 jQuery。当选择要上传的文件时,文件名(及其扩展名)将输出到 div,但是,它不适用于多个文件。选择多个文件时,仅输出第一个文件的名称。我到处寻找多个文件的解决方案,但找不到。
<form id="myform" action="" method="post" enctype="multipart/form-data">
<input type="file" multiple name="files[]" />
<input type="submit" name="submit" value="Submit">
</form>
<div class="filename"></div>
$("input:file").change(function (){
var fileName = $(this).val();
$(".filename").html(fileName);
});
Run Code Online (Sandbox Code Playgroud)
因此请记住,获取文件名列表(及其扩展名)应该在选择文件后立即进行,而不是在提交表单之后进行。
编辑:
除了我下面所说的之外,发生的另一件事是,当选择单个文件时,该文件的名称显示在浏览按钮旁边,但是当选择多个文件时,它不会显示每个文件的名称文件,它只是说“选择了#个文件”。对于 Firefox,“# 个文件”对于 chrome。我去看看 IE 做了什么,那是不同的。它将一个或多个文件的路径放在浏览按钮旁边的文本字段中,所以我想这就是其他问题和答案的全部内容。我尝试了所有这些,但都不起作用,即使其中一个起作用,那似乎也是互联网浏览器唯一的事情。我需要一个跨浏览器的解决方案。
var fileName = $(this).val().split('\\').pop();
var fileName = $(this).val().split(',').pop();
var fileName = $(this).val().split(', ').pop();
Run Code Online (Sandbox Code Playgroud)
因此,回顾一下,当选择多个文件时,应输出/显示每个文件的名称。即使其他解决方案适用于删除文件路径并仅保留文件名和扩展名(仅适用于 IE),它也不适用于显示所选的每个文件的名称。它只显示第一个文件。
编辑2:
以防万一您想知道,我也尝试过这个,但没成功,但似乎这里发布的答案确实有效,所以这很好。
var fileName = document.getElementById("myfiles").files;
Run Code Online (Sandbox Code Playgroud) 此代码在运行应用程序时有效,但Dreamweaver发出语法错误.它不喜欢那里的问号.我喜欢DW语法错误.有没有不同的方式来写这个?我有DW cs5.5我无法升级Dreamweaver版本.
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val('<?php echo $your_permit_standard; ?>');
}
Run Code Online (Sandbox Code Playgroud)
在问号前面加一个反斜杠只会让它像这样打印,这是不对的.
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val('<\?php echo $your_permit_standard; ?>');
}
Run Code Online (Sandbox Code Playgroud)
当它呈现时,应该有这样的值:
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val('0.333');
}
Run Code Online (Sandbox Code Playgroud)
这也行不通:
if ( $('#postage6').val() == "Your Permit Standard" ) {
var somevar = "<?php echo $your_permit_standard; ?>";
$('#postage6rate').val(somevar);
}
Run Code Online (Sandbox Code Playgroud)
语法错误只是从PHP变量所在的行传输到PHP变量所在的新行.
这是一个从mysql数据库预填充表单值的页面.人们可以编辑表单并更新数据库记录.
我正在检查字段是否为空并创建错误变量.提交表单并重新呈现页面时,错误变量(保留为空的错误变量)变为true,因此我在页面上回显错误消息.
这只是回显错误消息的部分,而不是获取数据库字段的其他部分,然后创建错误变量,然后将变量渲染回页面刷新等.
<?php
if ($error != '') {
echo '<div class="error top">';
echo $error;
echo "<ul>";
if ($clientnameErr != '') { echo $clientnameErr; }
if ($ponumberErr != '') { echo $ponumberErr; }
if ($dropdate1Err != '') { echo $dropdate1Err; }
if ($dropqty1Err != '') { echo $dropqty1Err; }
if ($postage1Err != '') { echo $postage1Err; }
echo '</ul></div>';
}
?>
Run Code Online (Sandbox Code Playgroud)
所以我想计算所有真实的错误并将该数字作为变量.我怎么做?
所以例如,如果clientname,ponumber和dropdate1被留空,那么这将是3个空,$ clientnameErr,$ ponumberErr和$ dropdate1Err的错误消息将回显,因为那3个if语句将为真,所以我需要变量等于3,所以我可以打印出来.
实际上我将继续展示它是如何制作所需的某些字段,然后创建错误变量,以防你需要它来解决上述问题.
if ($clientname == '' || $ponumber == '' || $dropdate1 == '' || …Run Code Online (Sandbox Code Playgroud)