-1

我已经在 jsfiddle 中实现了资金转移验证。它在 jsfiddle 中运行良好,但在 localhost 中无法运行。我正在使用 wamp。

这是我的 jsfiddle 链接 - http://jsfiddle.net/BzdfN/31/

但是当我在 localhost.it 中实现它时,它不起作用。

我的html代码是

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="validate.js"></script>
<title> Infy Bank Fund Transfer Entry Page </title>
</head>
<body>
<table class="layout" border="0" width="90%" align="center">
<form name="addcust" method ="POST" action ="http://localhost:8080/myapp/jsp/AddCustomerJSP.jsp">
    <td colspan="2">
    <table border="0" width="70%" align="center">
<tr>
    <td align="center" colspan="2">
    <div class="heading2">Infy Bank</div>
    </td>
</tr>
<tr>
    <td align="center" colspan="2"><p class="heading3">Fund transfer</p></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
    <td>Payers account no<span class="mandatory">*</span></td>
    <td><input type="text" name="text10" id="text10" size="25" />
<div width="100%" id="equal"><a href="#" class="button button-green"></a></div>
    </td>
</tr>
<!--<tr>
    <td>Payees account no<span class="mandatory">*</span></td>
    <td>
        <input type="text" name="name" value=2008 maxlength="25">   
    </td>
</tr>
<tr>
    <td>Amount<span class="mandatory">*</span></td><td><input type="text" Value=500 name="state" maxlength="25"></td>
</tr>
<tr>
    <td>Description<span class="mandatory">*</span></td><td><input type="text" name="pin" value=self maxlength="6"></td>
</tr>
<tr>
    <td><span class="mandatory">*mandatory field</span></td>
    <td><input type="submit" name="AccSubmit" value="Submit" onClick="return validatebal();">
        <input type="reset" name="res" value="Reset"></td>
</tr>-->
</form>
</table>
<p align="right"><a href="homepage.html">Home</a></p>
</body>
</html>

我的 validate.js 是

 $("#text10").keyup(function(){
        $("#text10").blur();
        $("#text10").focus();
});
$("#text10").change(function(){
var name = $('#text10').val();
         var numbers = /^[0-9]+$/;   
         var specialChars = "<>@!#$%^&*()_+[]{}?:;|'\"\\,./~`-=";



    if (name == "" || name == " " )
        {
             $("#equal").show();
             $("#equal a").html("please enter account number");

        }


    else if(name.match(numbers))
    {
               $("#equal").hide();
             $("#equal a").html("correct account number");   //  alert('All Boxes have elements.');
    }

    else if(name.match(specialChars))
    {
               $("#equal").show();
             $("#equal a").html("correct account number");   //  alert('All Boxes have elements.');
    }
  else 
        {
             $("#equal").show();
             $("#equal a").html("please check your account number  correctly");

        }

});

所以伙计们能告诉我我做错了什么。请帮忙

4

3 回答 3

2

开始你jQuery的:

$( document ).ready(function() {

    .../ and end with:

});

也许这会解决你的问题

于 2013-10-19T11:28:18.977 回答
1

在 jsfFiddle 中,您的代码在onload事件上执行。

但是包含validate.jshead脚本的内容中是在您放置的地方执行的<script src="validate.js"></script>。因此,您的 jQuery 选择器找不到任何元素,因为在执行脚本时它们不在 DOM 中。

你有不同的可能性。

  1. 将您的内容包装validate.jsjQuery(function() { /*your code of validate.js **/ })

  2. 另一种可能性是<script src="validate.js"></script>将其放在文档的末尾而不是放在头部。

  3. 您可以像这样使用委托事件,此时是否在 DOM$(document).on("keyup","#text10", function() { /* .... */ }); 中并不重要。#text10

于 2013-10-19T11:31:33.930 回答
0

validate.js将您的代码包装在jQueryready 函数中,如下所示应该可以解决问题:

$(document).ready(function() {

// validate.js code

});
于 2013-10-19T11:35:27.370 回答