iT邦幫忙

0

(已解決)JAVASCRIPT-如何送出表單 然後停在原本網頁

  • 分享至 

  • xImage

各位前輩安安
我已經找到一個stack overflow的解答 我是採取第一個做法
其解答連結如下
https://stackoverflow.com/questions/5733808/submit-form-and-stay-on-same-page

我已經照做了 結果送出表單之後大概頓了五秒
之後網頁還是跳轉了...........

document.querySelector("練習網頁的表單位置").target='frame'
g=document.createElement('iframe', {'name':'hiddenone'})
g.className='hiddenone'
g.name='frame'
document.querySelector("送出按鈕的位置").setAttribute("value","save")

用了這個是有停留幾秒 但我還是想要送出資料但讓網頁停止 不要跳轉
若是持續用iframe的方法要怎麼修正呢

推推
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
rainbowrain
iT邦新手 2 級 ‧ 2022-05-30 10:46:42
最佳解答

你選的方法是可行的,結果錯誤一定是程式有錯,我複製那個範例作法沒有遇到問題
從你提供的資訊判斷可能是你新建的 iframe 沒有放到頁面上
試看看在你貼上來的程式碼最後面加一行

document.body.appendChild(g);

這個方法的原理很單純就是把 form 結果送出去之後把回傳的資訊在你指定的 iframe 裡面開啟
再用 css 把 iframe 藏起來而已
不知道你是什麼原因想用這種作法,但這種方式你要處理回傳的資訊會很冗長
建議還是去學 AJAX

還真的欸 忘了加
謝謝您 這個選項是stack overflow某個解答的
還滿有趣就想說嘗試看看

會想去了解沒有 AJAX 的時候要怎麼處理這種玩心很棒
可以多學很多東西
/images/emoticon/emoticon12.gif

1
Felix
iT邦研究生 2 級 ‧ 2022-05-30 07:23:06

如果不要跳轉,就不能使用表單傳送資料,應該透過 AJAX 傳送:

  1. XMLHttpRequest
  2. Fetch

謝謝您 了解~

0
小魚
iT邦大師 1 級 ‧ 2022-05-31 10:13:37

現在比較常用的作法是使用Ajax

謝謝您

我要發表回答

立即登入回答