2015-11-26 32 views
0

我有一個名爲'dump'的提交按鈕。我想從文檔中刪除它,因爲如果用戶忘記點擊它,它會毀掉兩個表。相反,我想要做的就是把它放在onchange事件中:如何從HTML選擇標記中調用點擊事件

<select class="form-control" id="groupid" name="groupid" onchange="this.form.submit(); '<?php echo $_POST["dump"] ?>'"> 

但是這不起作用。也許我做錯了。 我怎樣才能觸發轉儲按鈕的單擊事件:

if($_POST['dump']) { ... } 

當GROUPID選擇框的變化和:

onchange="this.form.submit();" 

叫?如何以編程方式完成此操作,以便我可以清除「轉儲」按鈕的文檔?

回答

0

爲你解釋,我想你想要的是隱藏按鈕,這樣,

使用風格=「visibility:hidden的」轉儲(提交按鈕)

+0

我想要做的是徹底刪除轉儲按鈕,並在onchange中觸發其點擊事件,正如我在我的文章中所述。 – Landslyde

1

我覺得你的提交按鈕被命名爲「提交」。因此,form.submit是指按鈕而不是方法。重命名按鈕或將其刪除。

BTW

作爲一般規則,自動提交表單時控制的變化是從可用性和可訪問性的角度來看一個 非常糟糕的主意。見 WCAG - F36: Failure of Success Criterion 3.2.2 due to automatically submitting a form and presenting new content without prior warning when the last field in the form is given a valueWCAG - G13: Describing what will happen before a change to a form control that causes a change of context to occur is made

例如:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<form method="post" id="myform"> 
 
    <select class="form-control" id="groupid" name="groupid"> 
 
    <option name="name" value="0">0</option> 
 
    <option name="name" value="1">1</option> 
 
    </select> 
 
    <input type="submit" id="dump" name="dump" value="Dump" class="btn btn-danger"> 
 
</form> 
 

 
<script> 
 
    $(function() { 
 

 
    $("#groupid").on('change', function(e) { 
 
     $('#dump').trigger('click'); //trigger Dump click event 
 
    }); 
 
    $('#dump').on('click', function(e) { 
 
     e.preventDefault(); //prevent submit action 
 
     console.log('Dump button click event call') 
 
     $(this).attr('value', 'Dump button click event call') 
 
    }); 
 

 
    }); 
 
</script>

+0

我編輯了我的帖子以顯示按鈕的名稱。 form.submit只是加載一個選擇框,而不是提交表單進行處理。但感謝您的意見。 – Landslyde

+0

@Landslyde刪除'<?php echo $ _POST [「dump」]?>'在您的onchange代碼中,cauz它是無效的js代碼,所以onchange永遠不會調用this.form.submit() –

+0

form.submit工作正常,Felix_Ho。我只需要知道觸發轉儲按鈕的點擊事件,以便我可以從文檔中刪除它。當form.submit動作發生時,我需要觸發轉儲事件。這是我需要幫助的。如果我不能用form.submit在onchange中這樣做,那麼在form.submit被觸發時如何觸發? – Landslyde

1

簡單地:

1)使用hidden="hidden" attriute上轉儲按鈕

2)使用onchange="document.getElementById('dump').click();"屬性,在你希望事件觸發afterchange的地方,然後點擊dump時應該做什麼,將在onchange上觸發onchange,在那裏添加onchange事件。

+0

謝謝Nur Ys。清潔,簡單,並重點。尼斯。 – Landslyde

+0

如果這可以解決您的問題,請將其勾選爲答案,以便其他人從中獲益:) –

相關問題