链接自动填表

自动根据连接填充页面表单 方法网页追加 #field=选择器1:值,选择器2:值...&submit=#提交选择器,触发事件

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         链接自动填表
// @namespace    http://www.qs5.org/?auto_setForm
// @version      0.1
// @description  自动根据连接填充页面表单 方法网页追加 #field=选择器1:值,选择器2:值...&submit=#提交选择器,触发事件
// @author       ImDong
// @match        *://*/*
// ==/UserScript==

(function() {
    "use strict";

    // 获取参数
    var formFields = location.hash.match(/(?:^#|&)field=([^&]+)/),
        formSubmit = location.hash.match(/(?:^#|&)submit=([^&]+)/);

    // 遍历表单
    if(formFields && formFields.length > 1){
        formFields[1].split(",").forEach(function(fieldItem) {
            var fieldInfo = fieldItem.split(":"),
                fieldDom  = $(fieldInfo[0]);

                if(fieldDom.length > 0 && fieldInfo.length > 1){
                    fieldDom.val(decodeURIComponent(fieldInfo[1]));
                }
        });
    }

    // 开始提交
    if(formSubmit && formSubmit.length > 1){
        var submitInfo = formSubmit[1].split(","),
            submitDom  = $(submitInfo[0]);

            if(submitDom.length > 0 && submitInfo.length > 1 && typeof submitDom[submitInfo[1]] == 'function'){
                submitDom[submitInfo[1]]();
            }
    }
})();