簡體   English   中英

Javascript 自動觸發按鈕提交 php 表單與動態動作鏈接

[英]Javascript automatically trigger button to submit php form with dynamic action link

我有一個動態創建其操作鏈接的表單。

基本上頁面填充有分頁,第一頁和最后一頁的表單操作鏈接不同。 我有一個計時器正在運行,超時時我希望提交表單。

現在問題來了。 如果用戶在第一頁,則在超時期間,javascript 提交 function 提交,其中包含為第一頁創建的動態操作鏈接。 我最初的目的是提交最后一頁操作鏈接的表單。

<form method="post" id="submitmyform" <?php if($page==$firstpage){?> action="1st/page/action/link"<?php }elseif($page==$lastpage){?>action="last/page/action/link"<?php } ?> >

  <?php if($page==$firstpage){?> 
  <input type="hidden" name="firstpagecontent1" value="somthing" >
  <input type="hidden" name="firstpagecontent2" value="somthingelse" >
  <button type="submit" id="firstpagebutton" name="firstpagebtn" value="1">
 <?php }elseif($page==$lastpage){?>
  <input type="hidden" name="lastpagecontent1" value="somthing" >
  <input type="hidden" name="lastpagecontent2" value="somthingelse" >
 <button type="submit" id="lastpagebutton" name="lastpagebtn" value="2">
 <?php } ?>
</form>
<script>
function ontimeout{ 
  var button = document.getElementById('lastpagebutton'),
  form = button.form;
  form.addEventListener('submit', function(){
    return true;
   })
}
</script>

我對 PHP 部件沒有任何問題。 我只是想弄清楚 JS 如何為我工作。 上面的 JS 不起作用。 它經常提交但不提交最后一頁的值。 任何人都可以指導我找出我被卡住的地方並可能指出一條路。

注意:上面的代碼只是給出概念的說明。 我沒有在這里將分頁作為它的一段長代碼包括在內,我只是對 JS 有問題。

提前謝謝了。

setTimeout(function(){
  // Invoke function every 10 minutes
  $('#lastpagebutton').trigger('click');
}, 600000);

使用 jquery

由於您使用 PHP 來更改表單操作,因此在您到達最后一頁之前無法訪問操作值,這意味着它不會發生在表單提交操作中,而它與最后一個頁面不同.

我建議將最后一頁url/action放在不同的 php 變量中,因此它可以隨時用於 JS 過期/重定向。 就像是:

1:超時 - 重定向最后一頁

<?php
    $lastPageUrl = 'https://example.com';
?>

<script type="application/javascript">
setTimeout(function() { timeOut() }, 3000);

function timeOut() {
    var lastPage = "<?= $lastPageUrl ?>";
    location.replace(lastPage);
}
</script>

2:超時 - 更新表單動作最后一頁

<script type="application/javascript">

function timeOut() {
    var form = document.getElementById('submitmyform');
    form.action = '<?= $lastPageUrl ?>';
}
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM