2012-03-01 33 views
0

我試圖提交一個HTML格式的文本字段。目前,我的代碼看起來是這樣的:提交文本類型字段OnChange

echo("<form name=\"editAgendaItem" . $this->Id . "\" id=\"editAgendaItem" . $this->Id . "\" method=\"post\" action=\"./?module=meetings&preload=edit&function=editAgendaItem&agendaitem=" . $this->Id . "\">\n"); 
echo("<table width=\"100%\" border=0>\n"); 
echo("<tr><td width=\"20px\">" . $this->Index . "</td><td><input type=\"text\" value=\"" . $this->Title . "\" name=\"agendaItemTitle" . $this->Id . "\" onChange=\"javascript:document.forms['editAgendaItem" . $this->Id . "'].submit();\" />"); 
echo("</td>\n"); 
... 

計算結果爲

<form name="editAgendaItem19" id="editAgendaItem19" method="post" action="./?module=meetings&preload=edit&function=editAgendaItem&agendaitem=19"> 
<table width="100%" border=0> 
<tr><td width="20px">1</td><td><input type="text" value="" name="agendaItemTitle19" onChange="javascript:document.forms['editAgendaItem19'].submit()" /></td> 
... 

但更重要的是

<form name="editAgendaItem19" id="editAgendaItem19" method="post" action="..."> 
<input type="text" value="" name="agendaItemTitle19" onChange="javascript:document.forms['editAgendaItem19'].submit()" /> 
... 
  • 這是一個標籤,最終終止了。我的問題是,修改字段並放棄焦點時,表單不會提交。

在此先感謝您的幫助。

編輯:

我在onChange事件使用的主代碼這種方法,而不是也試過:

<script type="text/javascript"> 
function submitForm(FormName) 
{ 
    document.forms[FormName].submit(); 
} 
</script> 

編輯:

走上使用下面的代碼的建議:

<script> 
$(document).ready(function(){ 
    $('#agendaItemTitle24').live('blur',function() 
     $('#editAgendaItem24').submit(); 
    }); 
});​ 

</script> 

在我的頭上,並

<form name="editAgendaItem24" id="editAgendaItem24" method="post" action="..."> 
<input type="text" value="" name="agendaItemTitle24" id="agendaItemTitle24" /> 
</form> 

在我的內容中。仍然沒有骰子。

+0

您是否獲得在JavaScript控制檯的任何錯誤或警告?如果是這樣,你可以在這裏發佈嗎? – octern 2012-03-02 00:48:00

+0

我不是octern。 – DigitalJedi805 2012-03-02 07:31:38

+0

不,我是octern。這就是爲什麼「 - octern」出現在我的評論結尾。 – octern 2012-03-02 16:59:32

回答

1

你的HTML可能是這樣的:

<form name="myForm" id="myForm" method="post" action="..."> 
<input type="text" value="" name="myInput" id="myInput"/> 

Now使用jQuery:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#myInput').live('blur',function(){ 
     $('#myForm').submit(); 
    }); 
});​ 
</script> 

這是我的jsfiddle:http://jsfiddle.net/mtwLf/1/

+0

我會試一試併發回。謝謝。 – DigitalJedi805 2012-03-02 17:00:06

+0

給了這個旋轉 - 沒有產生任何結果。表格不提交。 – DigitalJedi805 2012-03-02 19:33:18

+0

你錯了@ DigitalJedi805;仔細看看jsFiddle鏈接。把你的光標放在文本框中,然後出去。表格會嘗試去動作 – 2012-03-02 19:50:57

0

我真的開始把這個javascript分解成一個單獨的文件,並在文檔準備好之後進行。我認爲我見過人們說現在寫內聯JavaScript是一件壞事。

任何人有任何想法呢?

+0

那麼我有一個submitForm方法應該這樣做;但它實際上並沒有發送表單。我將編輯上面的代碼以顯示它。 – DigitalJedi805 2012-03-02 07:29:46

2

試試這個:

onkeyup="javascript:document.forms['editAgendaItem19'].submit()" 

的的onChange功能只有當你點擊別處刪除重點工程

+0

這就是意圖瑣事 - 我不希望每次用戶點擊一個鍵時提交;因爲這會使兩分鐘的流程輸入一個議程項目標題,例如「呼叫訂單」;但是謝謝你的建議。 – DigitalJedi805 2012-03-02 16:59:50

1

嘗試使用onBlur事件,而不是onChange

+0

感謝您的建議;如果上述不起作用,可能會嘗試此操作。 – DigitalJedi805 2012-03-02 17:00:32

+0

試過這個 - 似乎沒有工作。謝謝。 – DigitalJedi805 2012-03-02 19:32:53

+0

'Blur'動作是否引發? – 2012-03-02 22:35:14