JavaScript ਫਾਰਮਾਂ ਵਿੱਚ ਮਲਟੀਪਲ ਚੋਣਾਂ ਨੂੰ ਸੰਭਾਲਣਾ
JavaScript ਵਿੱਚ ਫਾਰਮਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਇੱਕ ਆਮ ਕੰਮ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਉਪਭੋਗਤਾ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣਾ ਜਿਸ ਨੂੰ ਸਰਵਰ ਨੂੰ ਜਮ੍ਹਾਂ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ ਇੱਕ ਸਾਂਝੀ ਚੁਣੌਤੀ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਫਾਰਮਾਂ ਵਿੱਚ, ਜਿਵੇਂ ਕਿ "ਮਲਟੀਪਲ ਚੁਣੋ" ਡ੍ਰੌਪਡਾਉਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। ਮੂਲ ਰੂਪ ਨੂੰ ਸੰਭਾਲਣ ਦੇ ਢੰਗ ਸਾਰੇ ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਨੂੰ ਕੈਪਚਰ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਸਿਰਫ਼ ਆਖਰੀ ਚੁਣਿਆ ਗਿਆ ਵਿਕਲਪ ਵਾਪਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਵਿਹਾਰਕ ਪਹੁੰਚ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ ਕਿ ਸਾਰੇ ਚੁਣੇ ਗਏ ਵਿਕਲਪਾਂ ਨੂੰ ਏ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੈਪਚਰ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ ਸਹੀ ਢੰਗ ਨਾਲ ਜਮ੍ਹਾ ਕੀਤੇ ਗਏ ਹਨ। ਅਸੀਂ ਇੱਕ ਕਾਰਜਕਾਰੀ ਫਾਰਮ ਨੂੰ ਇੱਕ ਵਿੱਚ ਢਾਲਣ ਲਈ ਲੋੜੀਂਦੇ ਸੰਸ਼ੋਧਨਾਂ ਵਿੱਚੋਂ ਲੰਘਾਂਗੇ ਜੋ ਕਈ ਚੋਣਵਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਇਹ ਵੀ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਡੇਟਾ ਨੂੰ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਇੱਕ PHP API ਨੂੰ ਸਹਿਜੇ ਹੀ ਜਮ੍ਹਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਸਾਡਾ ਸ਼ੁਰੂਆਤੀ ਹੱਲ ਸਿੰਗਲ ਚੋਣ ਲਈ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ, ਪਰ ਜਦੋਂ ਅਸੀਂ ਇੱਕ ਮਲਟੀਪਲ ਚੋਣ ਖੇਤਰ ਵਿੱਚ ਸ਼ਿਫਟ ਹੁੰਦੇ ਹਾਂ, ਤਾਂ ਸਾਡੇ JavaScript ਤਰਕ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ। ਉਚਿਤ ਵਿਵਸਥਾਵਾਂ ਦੇ ਬਿਨਾਂ, ਫਾਰਮ ਸਿਰਫ਼ ਚੁਣੇ ਗਏ ਆਖਰੀ ਵਿਕਲਪ ਨੂੰ ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ ਲੋੜੀਂਦਾ ਵਿਵਹਾਰ ਨਹੀਂ ਹੈ। ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਵਿੱਚ ਟਵੀਕ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ ਕਿ ਅਸੀਂ ਫਾਰਮ ਡੇਟਾ ਨੂੰ ਕਿਵੇਂ ਇਕੱਠਾ ਕਰਦੇ ਹਾਂ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਕਰਦੇ ਹਾਂ।
ਇਸ ਗਾਈਡ ਦੇ ਅੰਤ ਤੱਕ, ਤੁਸੀਂ ਆਪਣੇ ਫਾਰਮ ਅਤੇ JavaScript ਨੂੰ ਹੈਂਡਲ ਕਰਨ ਲਈ ਕਿਵੇਂ ਅਪਡੇਟ ਕਰਨਾ ਹੈ ਬਾਰੇ ਚੰਗੀ ਤਰ੍ਹਾਂ ਜਾਣੋਗੇ ਕੁਸ਼ਲਤਾ ਨਾਲ. ਤੁਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਦੇ ਯੋਗ ਹੋਵੋਗੇ ਕਿ ਸਾਰੇ ਚੁਣੇ ਗਏ ਵਿਕਲਪ ਕੈਪਚਰ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ ਤੁਹਾਡੇ ਬੈਕਐਂਡ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪਾਸ ਕੀਤੇ ਗਏ ਹਨ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
FormData() | ਇਹ ਕੰਸਟਰਕਟਰ ਇੱਕ ਨਵਾਂ ਫਾਰਮਡਾਟਾ ਆਬਜੈਕਟ ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਫਾਰਮ ਡੇਟਾ ਐਲੀਮੈਂਟਸ ਨੂੰ ਕੈਪਚਰ ਕਰਦਾ ਹੈ। ਇਹ ਹਰੇਕ ਇਨਪੁਟ ਫੀਲਡ ਉੱਤੇ ਦਸਤੀ ਦੁਹਰਾਏ ਬਿਨਾਂ, ਫਾਈਲ ਅਪਲੋਡਸ ਸਮੇਤ, ਫਾਰਮ ਇਨਪੁਟਸ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਇਕੱਠਾ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
getElementsByName() | ਇੱਕ ਖਾਸ ਨਾਲ HTML ਤੱਤਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਵਿਸ਼ੇਸ਼ਤਾ. ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇਸਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਸਾਰੇ ਚੁਣੇ ਗਏ ਵਿਕਲਪਾਂ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਲਈ ਤੱਤ। |
options[] | ਇੱਕ ਚੋਣਵੇਂ ਤੱਤ ਦੇ ਵਿਅਕਤੀਗਤ ਵਿਕਲਪਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਦਾ ਹੈ। ਇਹ ਐਰੇ-ਵਰਗਾ ਸੰਗ੍ਰਹਿ ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਦੁਹਰਾਓ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਜੋ ਕਿ ਬਹੁਤੀਆਂ ਚੋਣਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ। |
selected | ਇੱਕ ਲੂਪ ਦੇ ਅੰਦਰ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ ਕੋਈ ਖਾਸ ਵਿਕਲਪ ਚੁਣਿਆ ਗਿਆ ਹੈ। ਇਹ ਮਲਟੀ-ਸਿਲੈਕਟ ਡ੍ਰੌਪਡਾਉਨ ਵਿੱਚ ਗੈਰ-ਚੁਣੇ ਵਿਕਲਪਾਂ ਨੂੰ ਫਿਲਟਰ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। |
set() | ਸੈੱਟ() ਵਿਧੀ ਨੂੰ ਇੱਕ ਮੁੱਖ-ਮੁੱਲ ਜੋੜਾ ਅੱਪਡੇਟ ਕਰਨ ਜਾਂ ਜੋੜਨ ਲਈ ਇੱਕ ਫਾਰਮਡਾਟਾ ਵਸਤੂ 'ਤੇ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਫਾਰਮ ਡੇਟਾ ਵਿੱਚ ਬਹੁ-ਚੋਣ ਡ੍ਰੌਪਡਾਉਨ ਤੋਂ ਸਾਰੇ ਚੁਣੇ ਗਏ ਮੁੱਲਾਂ ਨੂੰ ਜੋੜਨਾ। |
URLSearchParams() | ਇਹ ਇੱਕ ਵੈੱਬ API ਹੈ ਜੋ ਕਿ ਇੱਕ ਪੁੱਛਗਿੱਛ ਸਤਰ ਵਿੱਚ ਫਾਰਮ ਡੇਟਾ ਨੂੰ ਲੜੀਬੱਧ ਕਰਦਾ ਹੈ। ਇਹ ਇੱਥੇ ਫਾਰਮਡਾਟਾ ਆਬਜੈਕਟ ਨੂੰ HTTP ਬੇਨਤੀਆਂ ਲਈ ਢੁਕਵੇਂ ਸਟ੍ਰਿੰਗ ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ। |
XMLHttpRequest() | HTTP ਬੇਨਤੀਆਂ ਭੇਜਣ ਲਈ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ API। ਇਸਦੀ ਵਰਤੋਂ ਸਰਵਰ ਨੂੰ ਫਰੰਟ-ਐਂਡ ਤੋਂ ਅਸਿੰਕ੍ਰੋਨਸ ਡੇਟਾ ਸਬਮਿਸ਼ਨ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਪੰਨੇ ਨੂੰ ਜਵਾਬਦੇਹ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ। |
fetch() | XMLHttpRequest(), fetch() ਦਾ ਇੱਕ ਆਧੁਨਿਕ ਵਿਕਲਪ HTTP ਬੇਨਤੀਆਂ ਨੂੰ ਵਧੇਰੇ ਅਨੁਭਵੀ ਅਤੇ ਵਾਅਦੇ-ਅਧਾਰਿਤ ਸੰਟੈਕਸ ਨਾਲ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਨੈੱਟਵਰਕ ਬੇਨਤੀਆਂ ਦਾ ਸਾਫ਼-ਸੁਥਰਾ ਅਤੇ ਵਧੇਰੇ ਸੰਖੇਪ ਪ੍ਰਬੰਧਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। |
$.ajax() | ਇੱਕ jQuery ਕਮਾਂਡ ਜੋ ਅਸਿੰਕਰੋਨਸ HTTP ਬੇਨਤੀਆਂ ਨੂੰ ਆਸਾਨ ਬਣਾਉਂਦੀ ਹੈ। ਇਹ ਗੁੰਝਲਦਾਰ ਸੰਰਚਨਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਅਤੇ ਕਈ ਚੋਣਵਾਂ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸਰਵਰ ਤੇ ਜਮ੍ਹਾਂ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
JavaScript ਫਾਰਮਾਂ ਵਿੱਚ ਇੱਕ ਤੋਂ ਵੱਧ ਚੋਣ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਣਾ ਹੈ ਨੂੰ ਸਮਝਣਾ
ਉਪਰੋਕਤ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਉਦੇਸ਼ ਵੈੱਬ ਵਿਕਾਸ ਵਿੱਚ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨਾ ਹੈ: JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਫਾਰਮ ਤੋਂ ਸਰਵਰ 'ਤੇ ਕਈ ਚੁਣੇ ਗਏ ਵਿਕਲਪਾਂ ਨੂੰ ਜਮ੍ਹਾਂ ਕਰਨਾ। ਮੂਲ ਸੈੱਟਅੱਪ ਵਿੱਚ, ਇੱਕ ਫਾਰਮ ਵਿੱਚ ਇੱਕ ਸਿੰਗਲ ਚੋਣ ਡ੍ਰੌਪਡਾਉਨ ਸ਼ਾਮਲ ਹੈ। ਹਾਲਾਂਕਿ, ਜਦੋਂ ਏ ਡ੍ਰੌਪਡਾਉਨ, ਸਿਰਫ ਆਖਰੀ ਚੁਣਿਆ ਵਿਕਲਪ ਦਰਜ ਕੀਤਾ ਗਿਆ ਸੀ। ਇਸ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨ ਲਈ, ਅਸੀਂ HTTP ਬੇਨਤੀ ਦੁਆਰਾ ਸਰਵਰ ਨੂੰ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਸਾਰੇ ਚੁਣੇ ਗਏ ਵਿਕਲਪਾਂ ਨੂੰ ਇਕੱਠਾ ਕਰਨ ਲਈ JavaScript ਕੋਡ ਨੂੰ ਸੋਧਦੇ ਹਾਂ।
ਪਹਿਲੇ ਹੱਲ ਵਿੱਚ, ਆਬਜੈਕਟ ਦੀ ਵਰਤੋਂ ਫਾਰਮ ਐਲੀਮੈਂਟਸ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਪਰ ਕਿਉਂਕਿ ਇਹ ਮਲਟੀ-ਸਿਲੈਕਟ ਡ੍ਰੌਪਡਾਉਨ ਨੂੰ ਐਰੇ ਦੇ ਰੂਪ ਵਿੱਚ ਮੰਨਦਾ ਹੈ, ਸਾਨੂੰ ਵਿਕਲਪਾਂ ਨੂੰ ਹੱਥੀਂ ਦੁਹਰਾਉਣਾ ਚਾਹੀਦਾ ਹੈ। ਲੂਪ ਡ੍ਰੌਪਡਾਉਨ ਵਿੱਚ ਹਰੇਕ ਵਿਕਲਪ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ ਚੁਣੇ ਗਏ ਨੂੰ ਇੱਕ ਐਰੇ ਵਿੱਚ ਧੱਕਦਾ ਹੈ। ਇਸ ਐਰੇ ਨੂੰ ਫਿਰ ਇੱਕ ਸਟ੍ਰਿੰਗ ਫਾਰਮੈਟ ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਦੀ ਵਰਤੋਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਪੰਨੇ ਨੂੰ ਰਿਫ੍ਰੈਸ਼ ਕੀਤੇ ਬਿਨਾਂ ਡਾਟਾ ਅਸਿੰਕ੍ਰੋਨਸ ਤੌਰ 'ਤੇ ਪ੍ਰਸਾਰਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਵਿਧੀ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਸਮਰਥਿਤ ਹੈ, ਹਾਲਾਂਕਿ ਹੋਰ ਆਧੁਨਿਕ ਪਹੁੰਚ ਮੌਜੂਦ ਹਨ।
ਦੂਜਾ ਹੱਲ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕਿਵੇਂ ਵਰਤ ਕੇ ਉਸੇ ਸਮੱਸਿਆ ਨੂੰ ਸੰਭਾਲਣਾ ਹੈ . ਫੈਚ XMLHttpRequest ਨਾਲੋਂ ਇੱਕ ਸਾਫ਼ ਅਤੇ ਵਧੇਰੇ ਵਾਅਦਾ-ਆਧਾਰਿਤ ਪਹੁੰਚ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਅਸਿੰਕ੍ਰੋਨਸ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਣਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ। ਪਹਿਲੀ ਉਦਾਹਰਣ ਦੀ ਤਰ੍ਹਾਂ, ਚੁਣੀਆਂ ਗਈਆਂ ਚੋਣਾਂ ਨੂੰ ਇੱਕ ਐਰੇ ਵਿੱਚ ਇਕੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇੱਕ ਸਤਰ ਵਿੱਚ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ। ਦ ਵਿਧੀ ਫਿਰ ਇਸ ਡੇਟਾ ਨੂੰ PHP ਬੈਕਐਂਡ ਨੂੰ ਭੇਜਦੀ ਹੈ। ਇਹ ਪਹੁੰਚ ਇਸਦੀ ਲਚਕਤਾ ਅਤੇ ਵਧੇਰੇ ਅਨੁਭਵੀ ਸੰਟੈਕਸ ਦੇ ਕਾਰਨ ਆਧੁਨਿਕ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਧੇਰੇ ਕੁਸ਼ਲ ਅਤੇ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਅਪਣਾਈ ਜਾਂਦੀ ਹੈ।
ਤੀਜਾ ਹੱਲ jQuery ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਇੱਕ ਪ੍ਰਸਿੱਧ JavaScript ਲਾਇਬ੍ਰੇਰੀ ਜੋ ਬਹੁਤ ਸਾਰੇ DOM ਹੇਰਾਫੇਰੀ ਅਤੇ Ajax ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ। ਇੱਥੇ, ਚੁਣੀਆਂ ਗਈਆਂ ਚੋਣਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੈਪਚਰ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਵਿਧੀ, ਜੋ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਚੁਣੇ ਗਏ ਮੁੱਲਾਂ ਨੂੰ ਐਰੇ ਦੇ ਰੂਪ ਵਿੱਚ ਵਾਪਸ ਕਰਦੀ ਹੈ। ਫਿਰ ਐਰੇ ਰਾਹੀਂ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ , jQuery ਵਿੱਚ HTTP ਬੇਨਤੀਆਂ ਕਰਨ ਦਾ ਇੱਕ ਸਰਲ ਤਰੀਕਾ। ਇਸ ਪਹੁੰਚ ਲਈ ਪਿਛਲੀਆਂ ਉਦਾਹਰਣਾਂ ਨਾਲੋਂ ਘੱਟ ਮੈਨੂਅਲ ਕੋਡ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਦੋਂ jQuery ਪਹਿਲਾਂ ਹੀ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਇਸਨੂੰ ਇੱਕ ਤੇਜ਼ ਹੱਲ ਬਣਾਉਂਦਾ ਹੈ।
PHP ਫਾਰਮ ਸਬਮਿਸ਼ਨ ਲਈ JavaScript ਵਿੱਚ ਇੱਕ ਤੋਂ ਵੱਧ ਚੋਣ ਨੂੰ ਸੰਭਾਲਣਾ
XMLHttp ਦੇ ਨਾਲ JavaScript ਇੱਕ PHP ਬੈਕਐਂਡ ਵਿੱਚ ਕਈ ਚੁਣੇ ਗਏ ਮੁੱਲਾਂ ਵਾਲੇ ਇੱਕ ਫਾਰਮ ਨੂੰ ਸਪੁਰਦ ਕਰਨ ਲਈ ਬੇਨਤੀ।
function submitForm() {
var formData = new FormData(document.forms["rform"]);
var selectedOptions = [];
var selectElement = document.getElementsByName("inputa[]")[0];
for (var i = 0; i < selectElement.options.length; i++) {
if (selectElement.options[i].selected) {
selectedOptions.push(selectElement.options[i].value);
}
}
formData.set('inputa', selectedOptions.join(','));
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert("Submitted");
}
};
xhttp.open("POST", "test2.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(new URLSearchParams(formData).toString());
}
ਸੁਧਰੀ ਕੁਸ਼ਲਤਾ ਲਈ Fetch API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕਈ ਚੋਣਵਾਂ ਨੂੰ ਸੰਭਾਲਣਾ
PHP ਬੈਕਐਂਡ ਵਿੱਚ ਕਈ ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਵਾਲਾ ਇੱਕ ਫਾਰਮ ਜਮ੍ਹਾਂ ਕਰਨ ਲਈ Fetch API ਦੇ ਨਾਲ JavaScript।
function submitForm() {
var formData = new FormData(document.forms["rform"]);
var selectedOptions = [];
var selectElement = document.getElementsByName("inputa[]")[0];
for (var i = 0; i < selectElement.options.length; i++) {
if (selectElement.options[i].selected) {
selectedOptions.push(selectElement.options[i].value);
}
}
formData.set('inputa', selectedOptions.join(','));
fetch('test2.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams(formData).toString()
})
.then(response => response.text())
.then(result => alert("Submitted"))
.catch(error => console.error('Error:', error));
}
ਸਰਲ ਸੰਟੈਕਸ ਲਈ jQuery ਨਾਲ ਮਲਟੀਪਲ ਚੋਣਾਂ ਨੂੰ ਸੰਭਾਲਣਾ
PHP ਵਿੱਚ ਕਈ ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਨੂੰ ਇਕੱਠਾ ਕਰਨ ਅਤੇ ਜਮ੍ਹਾਂ ਕਰਨ ਲਈ jQuery ਦੀ ਵਰਤੋਂ ਕਰਨਾ।
$('#submitBtn').on('click', function(e) {
e.preventDefault();
var selectedOptions = $('#inputa').val();
$.ajax({
type: 'POST',
url: 'test2.php',
data: { 'inputa': selectedOptions },
success: function(response) {
alert("Submitted");
},
error: function() {
alert("Error occurred");
}
});
});
ਕਈ ਚੋਣਾਂ ਲਈ JavaScript ਨਾਲ ਫਾਰਮ ਡੇਟਾ ਹੈਂਡਲਿੰਗ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ
ਫਾਰਮਾਂ ਦੇ ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ, ਇੱਕ ਡ੍ਰੌਪਡਾਉਨ ਵਿੱਚ ਇੱਕ ਤੋਂ ਵੱਧ ਚੋਣ ਨੂੰ ਸੰਭਾਲਣਾ ਇੱਕ ਚੁਣੌਤੀ ਹੈ ਜੋ ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਦੇ ਹਨ। ਪੂਰਵ-ਨਿਰਧਾਰਤ ਤੌਰ 'ਤੇ, HTML ਫਾਰਮ ਸਿਰਫ਼ ਆਖਰੀ ਚੁਣੇ ਗਏ ਮੁੱਲ ਨੂੰ a ਵਿੱਚ ਕੈਪਚਰ ਕਰਦੇ ਹਨ ਡ੍ਰੌਪਡਾਉਨ, ਜਿਸ ਨਾਲ ਅਧੂਰਾ ਡੇਟਾ ਜਮ੍ਹਾਂ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਸਾਰੇ ਚੁਣੇ ਗਏ ਵਿਕਲਪਾਂ ਨੂੰ ਕੈਪਚਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਬੈਕਐਂਡ 'ਤੇ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਫਾਰਮ ਡੇਟਾ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਸਭ ਤੋਂ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ ਦੀ ਵਰਤੋਂ ਕਰਨਾ API, ਚੁਣੇ ਗਏ ਵਿਕਲਪਾਂ ਨੂੰ ਦੁਹਰਾਉਣ ਦੀ JavaScript ਦੀ ਯੋਗਤਾ ਦੇ ਨਾਲ ਮਿਲਾ ਕੇ। ਇਹ ਪ੍ਰਕਿਰਿਆ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਸਾਰੇ ਚੁਣੇ ਗਏ ਮੁੱਲ ਕੈਪਚਰ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ ਸਰਵਰ ਨੂੰ ਭੇਜੇ ਗਏ ਡੇਟਾ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ। ਸੈੱਟਅੱਪ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਤੁਹਾਨੂੰ ਡਾਟਾ ਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਵੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਵਰਤੋਂ , ਫਾਰਮ ਡੇਟਾ ਨੂੰ ਇੱਕ ਫਾਰਮੈਟ ਵਿੱਚ ਤਿਆਰ ਕਰਨ ਲਈ ਜਿਸਨੂੰ ਬੈਕਐਂਡ ਸਿਸਟਮ ਦੁਆਰਾ ਆਸਾਨੀ ਨਾਲ ਪਾਰਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਵਿਚਾਰਨ ਲਈ ਇਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਸੁਰੱਖਿਆ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਹੈ। ਜਦੋਂ ਕਿ ਫਾਰਮ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲਣਾ ਸਿੱਧਾ ਹੈ, ਇੰਜੈਕਸ਼ਨ ਹਮਲਿਆਂ ਵਰਗੀਆਂ ਕਮਜ਼ੋਰੀਆਂ ਤੋਂ ਬਚਣ ਲਈ ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਦੋਵਾਂ 'ਤੇ ਇਨਪੁਟ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਆਧੁਨਿਕ API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਜਿਵੇਂ ਕਿ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਵਧੇਰੇ ਲਚਕਦਾਰ ਤਰੁੱਟੀ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਫਾਰਮ ਡੇਟਾ ਜਮ੍ਹਾਂ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸੁਚਾਰੂ ਅਤੇ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ।
- ਮੈਂ JavaScript ਵਿੱਚ ਕਈ ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰਾਂ?
- ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ ਸਿਲੈਕਟ ਐਲੀਮੈਂਟ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਇਸਦੇ ਦੁਆਰਾ ਲੂਪ ਕਰਨ ਦਾ ਤਰੀਕਾ ਚੁਣੇ ਮੁੱਲ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ.
- JavaScript ਦੁਆਰਾ ਮਲਟੀਪਲ ਚੋਣ ਜਮ੍ਹਾਂ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਕੀ ਹੈ?
- ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਆਬਜੈਕਟ, ਤੁਸੀਂ ਫਾਰਮ ਇਨਪੁਟਸ ਨੂੰ ਇਕੱਠਾ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਉਹਨਾਂ ਦੁਆਰਾ ਦੁਹਰਾਉਣ ਅਤੇ ਡੇਟਾ ਵਿੱਚ ਮੁੱਲ ਜੋੜ ਕੇ ਕਈ ਚੋਣਵਾਂ ਨੂੰ ਦਸਤੀ ਪ੍ਰਕਿਰਿਆ ਕਰ ਸਕਦੇ ਹੋ।
- ਕੀ ਮੈਂ ਫਾਰਮ ਸਬਮਿਸ਼ਨ ਲਈ Fetch API ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ, ਦ HTTP ਬੇਨਤੀਆਂ ਭੇਜਣ ਦਾ ਇੱਕ ਆਧੁਨਿਕ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਫਾਰਮ ਡੇਟਾ ਵੀ ਸ਼ਾਮਲ ਹੈ, ਕਲੀਨਰ ਸਿੰਟੈਕਸ ਅਤੇ ਬਿਹਤਰ ਤਰੁੱਟੀ ਪ੍ਰਬੰਧਨ ਨਾਲ।
- Fetch API ਅਤੇ XMLHttpRequest ਵਿੱਚ ਕੀ ਅੰਤਰ ਹੈ?
- ਜਦੋਂ ਕਿ ਦੋਵੇਂ HTTP ਬੇਨਤੀਆਂ ਭੇਜ ਸਕਦੇ ਹਨ, ਬਿਹਤਰ ਅਸਿੰਕ੍ਰੋਨਸ ਹੈਂਡਲਿੰਗ ਲਈ ਵਾਅਦਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਵਧੇਰੇ ਆਧੁਨਿਕ ਹੈ ਕਾਲਬੈਕ ਵਰਤਦਾ ਹੈ।
- ਫਾਰਮ ਜਮ੍ਹਾਂ ਕਰਦੇ ਸਮੇਂ ਮੈਂ ਗਲਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲ ਸਕਦਾ ਹਾਂ?
- ਤੁਸੀਂ ਵਿੱਚ ਗਲਤੀ-ਪ੍ਰਬੰਧਨ ਤਰਕ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਫਾਰਮ ਜਮ੍ਹਾਂ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਮੁੱਦੇ ਨੂੰ ਫੜਨ ਅਤੇ ਜਵਾਬ ਦੇਣ ਦੇ ਤਰੀਕੇ।
JavaScript ਫਾਰਮਾਂ ਵਿੱਚ ਕਈ ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਫਾਰਮ ਡੇਟਾ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਨੂੰ ਲੂਪ ਕਰਕੇ ਅਤੇ ਹਰੇਕ ਮੁੱਲ ਨੂੰ ਕੈਪਚਰ ਕਰਕੇ, ਤੁਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹੋ ਕਿ ਫਾਰਮ ਜਮ੍ਹਾਂ ਕਰਨ ਵੇਲੇ ਸਾਰੀਆਂ ਚੋਣਾਂ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।
ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ , , ਜਾਂ jQuery, ਹਰੇਕ ਵਿਧੀ ਇੱਕ PHP ਬੈਕਐਂਡ ਵਿੱਚ ਕੁਸ਼ਲ ਅਤੇ ਸੁਰੱਖਿਅਤ ਫਾਰਮ ਸਬਮਿਸ਼ਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਸਹੀ ਪਹੁੰਚ ਚੁਣਨਾ ਤੁਹਾਡੀਆਂ ਖਾਸ ਪ੍ਰੋਜੈਕਟ ਲੋੜਾਂ ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ ਸਾਧਨਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
- JavaScript ਫਾਰਮਾਂ ਵਿੱਚ ਕਈ ਚੁਣੇ ਹੋਏ ਵਿਕਲਪਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਵਿਆਖਿਆ, ਜਿਵੇਂ ਕਿ ਵਿਧੀਆਂ ਸਮੇਤ ਅਤੇ . ਇੱਥੇ ਉਪਲਬਧ: MDN ਵੈੱਬ ਡੌਕਸ: ਫਾਰਮਡਾਟਾ
- ਵਰਤਣ 'ਤੇ ਵਿਆਪਕ ਗਾਈਡ JavaScript ਵਿੱਚ ਅਸਿੰਕਰੋਨਸ ਡੇਟਾ ਭੇਜਣ ਲਈ: MDN ਵੈੱਬ ਡੌਕਸ: XMLHttpRequest
- ਦੀ ਵਰਤੋਂ ਕਰਨ 'ਤੇ ਵਿਸਤ੍ਰਿਤ ਟਿਊਟੋਰਿਅਲ ਨੈੱਟਵਰਕ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ: MDN ਵੈੱਬ ਡੌਕਸ: ਪ੍ਰਾਪਤ ਕਰੋ API
- ਨਾਲ ਫਾਰਮ ਜਮ੍ਹਾਂ ਕਰਨ ਲਈ jQuery ਦਸਤਾਵੇਜ਼ : jQuery: $.ajax()