小编Emm*_*myS的帖子

一起使用javascript和php

我有一个PHP表单需要一些非常简单的提交验证.我宁愿做验证客户端,因为有很多服务器端验证恰好处理将表单值写入数据库.所以我只想调用一个javascript函数onsubmit来比较两个密码字段中的值.这就是我所拥有的:

function validate(form){
  var password = form.password.value;
  var password2 = form.password2.value;
  alert("password:"+password+" password2:" + password2);

  if (password != password2) {
    alert("not equal");
    document.getElementByID("passwordError").style.display="inline";
    return false;
  }
  alert("equal");
  return true;
}
Run Code Online (Sandbox Code Playgroud)

如果两个密码不匹配,则会显示包含错误消息的默认隐藏div.警报只是显示密码和密码2的值,然后再次显示它们是否匹配(不会在生产代码中使用).

我正在使用input type = submit按钮,并在表单标记中调用该函数:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" onsubmit="return validate(this);">
Run Code Online (Sandbox Code Playgroud)

输入不匹配的值时,所有内容都会按预期发出警报.我希望(并假设,基于过去的使用)如果函数返回false,则不会发生实际提交.然而,确实如此.我在密码字段中输入不匹配的值测试,以及警报清楚地表明我的价值观和不相等的结果,但实际行动的形式仍然发生,它的尝试写入我的数据库.

我是PHP的新手; 有什么关于它不会让我这样与javascript结合?如果返回true,使用input type =按钮并在函数本身中包含submit()会更好吗?

javascript php

1
推荐指数
1
解决办法
1721
查看次数

寻找在取消时将表单值还原为原始值的最有效方法

我有一个动态生成的字段组的表单 - 后端是php/mySQL,表单是通过从表中读取数据并为每个记录创建一组字段来创建的.该表单有一些javascript onSubmit,确认用户是否真的想保存他们的更改,但如果他们说他们不想保存,我就无法恢复到原始值.从数据库重新加载页面不是一种选择.

javascript forms

1
推荐指数
1
解决办法
527
查看次数

这个数组代码是什么意思?

我刚刚继承了一些代码,之前没有看过这种格式.这是一个数组:

$arrayWeather = array('weatherParameters' => array(
                                                   'wspd'  => $_GET['wspd']  == 'wspd',
                                                   'wdir'  => $_GET['wdir']  == 'wdir',
                                                   'waveh' => $_GET['waveh'] == 'waveh'));
Run Code Online (Sandbox Code Playgroud)

我以前从未见过这个; 这到底是什么意思?

'wspd'  => $_GET['wspd']  == 'wspd'
Run Code Online (Sandbox Code Playgroud)

它是if语句的快捷方式,如果_ $ GET ['wspd']存在,请将名为wspd的数组键设置为字面值wspd吗?或完全不同的东西?

php arrays

1
推荐指数
1
解决办法
315
查看次数

IE8中的jQuery错误 - .val()或trim()?

我在IE8调试器中遇到jquery错误,但我不确定是哪个函数导致它.我在这里看到了很多帖子,说明IE8不支持native trim(),但我不是(我不认为)使用本机版本(我继承了这段代码;它不是我写的东西从头开始.)

这是导致问题的块 - 它是点击功能的一部分:

greenlight = false;
link = $(this);
href = $(this).attr("href");
row = $(this).parent().parent();
if ($(":text", row).exists()) {
    new_email = jQuery.trim($(":text", row).val());
        //do stuff here

}
Run Code Online (Sandbox Code Playgroud)

我在调试器中遇到的错误是在启动new_email的行上; 错误是"对象不支持此属性或方法".

任何人都可以帮我弄清楚1)IE8不支持哪些属性或方法,2)我能做些什么来修复它?我绝不是一个jquery专家; 我是99%的服务器端.

该代码适用于Chrome,Safari和Firefox.

jquery internet-explorer-8

1
推荐指数
1
解决办法
8444
查看次数

为什么这个对象变量未定义?

我有一些非常混乱的代码,我继承了无法正常工作.我做了一个console.log找出原因,它告诉我我的变量是未定义的.

这是功能 - 除了console.log简洁之外,我已经删除了所有内容.

function pageClick(pageToLoad, requestParams, origLoc, tag) {
    console.log("requestparams draw: " . requestParams.drawSideBar);
}
Run Code Online (Sandbox Code Playgroud)

这是来电者:

pageClick( "pizza", {drawSideBar: true} );
Run Code Online (Sandbox Code Playgroud)

当我运行该函数时,它告诉我这requestParams是未定义的.我不确定为什么; 据我所知,它被传递了一个完全有效的对象.我确定我错过了一些明显的东西,但不知道它是什么.

javascript

0
推荐指数
1
解决办法
54
查看次数

如何将jquery子选择器(>)与变量一起使用?

我有两个带有单选按钮的选项表.第一种包含调味汁(marinara,bbq等).第二种包含酱汁量(常规,额外等).酱汁量有三种选择 - 左,全,右.

在此输入图像描述

HTML很乱,由CMS生成,我无法更改,因此我无法使用我的工作.

当用户选择除Marinara之外的酱汁时,应该隐藏除常规酱之外的酱汁量选项.

在此输入图像描述

我写了一些(丑陋的)jquery,隐藏酱量选项,然后重新显示常规酱选项,但它显示整行,包括左右单选按钮.我需要隐藏左右单选按钮,但保持显示中心(整个)按钮.

该表的代码相当庞大; 我在这里有一个小提琴,其中包含比我在这里发布的更大的块.

这是酱油味道行的样子:

<tr class="pb-radio">
        <td class="pb-radio-label pb-highlight"><label>Marinara Sauce</label></td>
        <td class="pb-left">
            <div class="">
                <input type="radio" name="sauce_flavor.left" class="pb-radio-sauce pb-marinara-sauce">
            </div>
        </td>
        <td class="pb-whole">
            <div class="pb-highlight">
                <input type="radio" checked="" name="sauce_flavor.whole" class="pb-radio-sauce pb-marinara-sauce">
            </div>
        </td>
        <td class="pb-right">
            <div class="">
                <input type="radio" name="sauce_flavor.right" class="pb-radio-sauce pb-marinara-sauce">
            </div>
        </td>
    </tr>
    <tr class="pb-radio">
        <td class="pb-radio-label "><label>Garlic Parm Sauce*</label></td>
        <td class="pb-left">
            <div class=""> </div>
        </td>
        <td class="pb-whole">
            <div class="">
                <input type="radio" name="sauce_flavor.whole" class="pb-radio-sauce pb-sauce-no-size-allowed">
            </div>
        </td>
        <td class="pb-right">
            <div class=""></div> …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

0
推荐指数
1
解决办法
124
查看次数