Javascript: Difference between revisions

Jump to navigation Jump to search
4,607 bytes added ,  15 May 2024
m
 
(41 intermediate revisions by the same user not shown)
Line 36: Line 36:
** <nowiki>$("#selector_id").css("display", "");</nowiki> or <nowiki>$("#selector_id").css("display", "block");</nowiki>
** <nowiki>$("#selector_id").css("display", "");</nowiki> or <nowiki>$("#selector_id").css("display", "block");</nowiki>
** <nowiki>$("#selector_id").css("display", "none");</nowiki>
** <nowiki>$("#selector_id").css("display", "none");</nowiki>
== form submit validation ==
* [http://www.w3schools.com/jsref/event_form_onsubmit.asp Form onsubmit Event]. code snippet<ref>[http://www.w3schools.com/js/js_form_validation.asp JavaScript Form Validation]</ref>:
<pre>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">...
</pre>
* jQuery .submit()<ref>[http://api.jquery.com/submit/ .submit() | jQuery API Documentation]</ref>
<pre>
$(document).ready(function(){
    $('#form').submit( function(){
        return validateForm();
    });
});
function validateForm()
{
    if ( condition )
    {
        alert('form was not validated');
        return false;
    }
}
</pre>
* [http://jqueryvalidation.org/ jQuery Validation Plugin | Form validation with jQuery]<ref>[http://brooky.cc/2011/08/04/using-jquery-validation-plugin-for-form-validation/ 好用的表單驗證工具 – jQuery validation plugin | brooky's blog]</ref>


== Count the number of visible table rows ==
== Count the number of visible table rows ==
Line 43: Line 68:
count the number of all table rows (includes visible and invisible rows)
count the number of all table rows (includes visible and invisible rows)
* <nowiki>document.getElementById( table_id ).rows.length;</nowiki>
* <nowiki>document.getElementById( table_id ).rows.length;</nowiki>
== refresh or redirect the webpage ==
* [http://rental.zhupiter.com/postshow_184_1_1.html  轉導、轉向(Redirect)網址的方法. - 諸彼特租屋網] {{access | date=2014-03-18 }}
* alternative: refresh partial content which only required to be updated


== JSON tools ==
== JSON tools ==
Online services
JSON schema generator
* [http://json.parser.online.fr/ Json Parser Online]
* {{Gd}} [http://www.jsonschema.net/ JSON schema generator]
* [http://www.jsonschema.net/ JSON schema generator] {{Gd}}
 
JSON validator
* {{Gd}} [https://jsonformatter.curiousconcept.com/ JSON Formatter & Validator] 會標示語法錯誤的地方 {{access | date = 2024-05-15}}
* [http://jsonlint.com/ JSONLint - The JSON Validator] {{access | date = 2015-09-08}}
* [https://jsonviewer.stack.hu/ Online JSON Viewer and Formatter] 語法錯誤只會顯示錯誤訊息「JSON error: Invalid JSON variable」{{access | date = 2024-05-15}}
 
JSON viewer 通常也包含 validator 功能
* {{Gd}} [http://www.jsondata.ninja/ JSON Data Ninja] {{access | date = 2017-05-24}}
*# 輸入:  文字
*# 可以把 JSON 多筆資料轉成表格格式
*# 有標示某節點下的資料筆數
*# 會將編碼後的中文還原成可讀
 
* [http://json.parser.online.fr/ Json Parser Online] {{access | date = 2017-05-24}}
*# 輸入:  文字
*# 沒有顯示成 Tree 結構,但有美化語法方便閱讀
*# 有標示某節點下的資料筆數
*# 會將編碼後的中文還原成可讀
 
* [http://codebeautify.org/jsonviewer Best Online JSON Viewer, Beautifier, Formatter, Analyser, Minify, Converter] {{access | date = 2017-05-24}}
*# 輸入:  文字
*# Tree Viewer 顯示結構
*# 有標示某節點下的資料筆數
*# <span style="color: #999;">不會將編碼後的中文還原成可讀</span>
 
* [https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc JSONView] for {{Chrome}}: beautify the remote JSON file
*# 輸入: 網址
*# 沒有顯示成 Tree 結構,但有美化語法方便閱讀
*# <span style="color: #999;">沒有標示某節點下的資料筆數</span>
*# 會將編碼後的中文還原成可讀 Unicode/Chinese issue: the garbled Chinese characters will become human readable!
 
* [https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop Postman] for {{Chrome}}. [[HTTP request and response data tool]] {{access | date = 2017-06-09}}
*# 輸入: 網址
*# 沒有顯示成 Tree 結構,但有美化語法方便閱讀
*# <span style="color: #999;">沒有標示某節點下的資料筆數</span>
*# 會將編碼後的中文還原成可讀
 
* [https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa JSON Formatter]
 
* [http://jsonviewer.codeplex.com/ JSON Viewer]  v. 1.2.0.0 解壓縮直接執行 JsonView\JsonView.exe (免安裝即可執行) {{Win}}
** 大檔 (檔案大小 6MB) 測試: 停頓約半分鐘後,即可使用
 
* [https://notepad-plus-plus.org/ Notepad++] v. 6.8.7 + [https://sourceforge.net/projects/nppjsonviewer/ JSONViewer Notepad++ plugin] v.1.22
** 大檔 (檔案大小 6MB) 測試: 沒有反應超過5分鐘
 
* [http://youknowone.github.io/VisualJSON/ VisualJSON by youknowone] v. 1.6.0 on {{Mac}}
*# 輸入: 網址或文字
*# 顯示成 Tree 結構
*# 有標示某節點下的資料筆數
*# 會將編碼後的中文還原成可讀
 
 
* ''$'' [http://www.cocoajsoneditor.com/ Cocoa JSON Editor - Powerful JSON String Editor for Developers, API, Endpoints, Rest client] v. 1.2.5 on {{Mac}}  
*# 輸入: 文字或檔案
*# Tree Viewer 顯示結構
*# 有標示某節點下的資料筆數
*# 會將編碼後的中文還原成可讀


Browser extensions
* ''$'' [http://textlab-app.com/ TextLab] v. 1.3.4 on {{Mac}}
* [https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa JSON Formatter] for {{Chrome}} (similar extension: [https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc JSONView])
*# 輸入: 文字或檔案
*# 沒有顯示成 Tree 結構,但有美化語法方便閱讀
*# <span style="color: #999;">沒有標示某節點下的資料筆數</span>
*# 會將編碼後的中文還原成可讀
 
Other tools
* [https://www.planetoid.info/tools/convert_javascript_array_to_php_array/ Convert JavaScript Array to PHP Array]


Editor plugins
Editor plugins
* [http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central#J JSON Viewer][http://nppjsonviewer.sourceforge.net/] for Notepad++
* [http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central#J JSON Viewer] [http://nppjsonviewer.sourceforge.net/] for Notepad++
 
* [http://www.camdemy.com/media/7427 Sublime Text 套件介紹(四):Pretty JSON]{{access | date=2014-03-11}}
standalone
* [http://jsonviewer.codeplex.com/ JSON Viewer] 解壓縮直接執行 JsonView\JsonView.exe (免安裝即可執行)


== compression tools ==
== Performance issue: compression tools, using CDN ==
* [http://jscompress.com/ Minify Javascript Online / Online JavaScript Packer]
[[Speed up websites#JavaScript part]]


== troubleshooting steps ==
== troubleshooting steps ==
Line 67: Line 157:
# [[Check Browser Compatibility | Checking browser compatibility]]
# [[Check Browser Compatibility | Checking browser compatibility]]
# Javascript location: (1)JavaScript in <head> or <body> [http://api.jquery.com/click/ ex: .click()], (2)JavaScript in <input> tag or other DOM elements' tag ex: <button type="button" onclick="myFunction()" id="buttonId">Try it</button><ref>[http://www.w3schools.com/js/js_howto.asp JavaScript How To]</ref>
# Javascript location: (1)JavaScript in <head> or <body> [http://api.jquery.com/click/ ex: .click()], (2)JavaScript in <input> tag or other DOM elements' tag ex: <button type="button" onclick="myFunction()" id="buttonId">Try it</button><ref>[http://www.w3schools.com/js/js_howto.asp JavaScript How To]</ref>
=== jsfiddle:Uncaught ReferenceError: function_name is not defined ===
message: Uncaught ReferenceError: function_name is not defined
* possibile solution: settings - '''No wrap - in <body>''' or '''No wrap - in <head>'''




more on [[Javascript debug]]
more on [[Javascript debug]]


== references ==
== References ==
<references/>
<references/>
== Further reading ==
# [http://technet.microsoft.com/library/ee198686.aspx Microsoft - Scripting Guidelines]


[[Category:Programming]]
[[Category:Programming]]
[[Category:Web_Dev]]
[[Category:Web_Dev]]
[[Category:Javascript]]
[[Category:Javascript]]
[[Category:WebDesign]]
[[Category:Design]]
 
further reading
# [http://technet.microsoft.com/library/ee198686.aspx Microsoft - Scripting Guidelines]

Navigation menu