php - 将这段 Javascript 与另一部分结合起来?

标签 php javascript html forms

由于我在 JS、JQuery 和 PHP 方面都是新手,因此我需要一些帮助。

对于有 JS 基础知识的人来说可能很简单,但对我来说就没那么简单了。

我的index.php中有以下部分:

<form method="get" id="searchform" action="http://wwwapps.ups.com/WebTracking/track?HTMLVersion=5.0&loc=nl_NL&Requester=UPSHome&WBPM_lid=homepage%2Fct1.html_pnl_trk" target="_blank" >
<input type="text" value="" name="trackNums" id="ups" />
<input type="hidden" name="track.x" value="Traceren">
<input type="hidden" name="loc" value="nl_NL">
<input type="image" src="afbeeldingen/search_btn.png" id="searchsubmit" />
</form>

在 .js 文件中我有这个:

$(document).ready(function() {
    $("#ups").attr("value", "UPS Trackingscode...");
    var text = "UPS Trackingscode...";
    $("#ups").focus(function() {
        $(this).addClass("active");
        if($(this).attr("value") == text) $(this).attr("value", "");
    });
    $("#ups").blur(function() {
        $(this).removeClass("active");
        if($(this).attr("value") == "") $(this).attr("value", text);
    });
});

我在 .js 文件的顶部添加了这个:

function removeSpaces(string) {
    return string.split(' ').join('');
}

但是当我将此部分添加到index.php(表单部分)时它不起作用:

<input type="text" onblur="this.value=removeSpaces(this.value);">

我想我也必须将它合并到当前的 JS 中,但我不知道如何执行此操作或更改/添加什么。

我在这里想要实现的是,每当我将跟踪代码粘贴到文本字段中时,它应该自动删除空格(如果有的话,因为复制/粘贴操作错误)。

它不适合任何特殊网站,只是供我个人使用,因此我可以从自己的起始页面更轻松地跟踪包裹。

我希望我的解释是正确的。对于有基本 JS 技能的人来说可能不到一分钟,但对我来说却非常困难。 :(

最佳答案

该功能本身运行良好。这只是一个范围问题。您有两个选择:

1) 将函数移到 $(document).ready(function() { }) 部分之外

2) 从元素中删除 onblur="this.value=removeSpaces(this.value);",丢弃函数并编写相应的事件处理程序

// identifier or class needed to target the element, i use id="target"
$("#target").on("focusout",function(){
   this.value = this.value.replace(/\s*/g,"");
});

第二种方式(使用事件处理程序)被认为是更干净、更好的方式。但两者都有效。

旁注:

要从字符串中删除空格,最好使用 replace使用相应的正则表达式 /\s*/g 的方法(替换整个字符串中的零个或多个空格 \s* (全局 g) )。

使用 $(this).val() 而不是 $(this).attr("value") .

关于php - 将这段 Javascript 与另一部分结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14642313/

相关文章:

php - 获取键为 id 而不是数组键为 0,1 的数组结果

javascript - 基本类型字符串的 TypeScript 重载方法

javascript - Rails - 为什么 ajax 不发送参数到 GET 请求

jquery - 使用JQuery动态插入和删除HTML标签的正确方法

php - 关闭标签后的 XPath 数据

html - 当通过 CSS 隐藏更高的元素时,如何将 <li> 对齐到顶部

javascript - 在提交表单之前显示表单数组输入值

php - 在 PHP 中使用 Openssl 验证 SSL 证书

php - Laravel - 使用 Redirect::route() 添加尾部斜线

javascript - 如何在ABP模板中使用_formwizard.scss?