2012-04-06 98 views
0

我需要你的幫助,以瞭解如何從表單發送信息到javascript函數。如何發送表單到javascript函數

我已經創建了一個基本的功能在這裏:http://jsfiddle.net/nZhR8/5/

該功能的目的是爲了隱藏/顯示一個div。

事實上,我會有一個表格,有幾個聯繫人(介於0和20之間)。每個聯繫人都會有一個選擇列表。對於每個聯繫人,我將不得不顯示1個特殊功能的1個特殊功能。所以,對於contact1,我可能必須顯示div3,對於contact2,則顯示div1。

我也將使用JavaScript函數發送到數據庫至極必須顯示。這將是一種進步。

如果我做錯了,請告訴我爲什麼。

+3

在小提琴中的語法不正確。 'div'和'form'在哪裏? – diEcho 2012-04-06 12:52:11

+1

沒有太多的改變你的代碼,[這將工作](http://jsfiddle.net/nZhR8/4/),但它仍然沒有寫得很好。 – Chad 2012-04-06 12:54:22

+0

我編輯了我的問題。對不起,我沒有給出正確的小提琴鏈接。我給的東西沒有形式。 – 2012-04-06 12:56:25

回答

1

我看不出這背後的想法,但可能做的伎倆:http://jsfiddle.net/YCPM7/

那一定是一個更大的項目的一個簡單的草案。

另外,我建議你要麼使用通用類各的DIV

<div class="message 1">1</div> 
<div class="message 2">1</div> 
<div class="message 3">1</div> 
... 

因此,你可以簡單地做:

$(".message").hide(); 

享受。

+0

你甚至可以通過用$(「#StateSelection」)替換'$(「form」)。submit(...)''使得它更具交互性。 )'。這樣,只要您選擇一個新值,顯示的消息就會更改,不再需要按「提交」。 – Peter 2012-04-06 13:34:15

1

首先,從您定義函數showDiv的地方刪除$(...),因爲您不希望在頁面加載時執行showDiv。

除此之外,你的問題似乎是jsFiddle。它沒有在那裏工作,但是當我複製+粘貼到你發佈在jsFiddle上的文件中時,修正了我上面提到的並且在FF中嘗試了它,它工作正常。

當然,您可以對代碼做的更好,但它的工作原理。建議:給予所有div同一個班級,並通過id區分他們,然後用該班級隱藏所有內容,並顯示具有正確ID的班級。對於onload,而不是複製整個代碼,只需執行showDiv(1)

1

您需要類似this jsFiddle

<div id="1" class="1">1</div> 
<div id="2" class="2">2</div> 
<div id="3" class="3">3</div> 
<div id="4" class="4">4</div> 
<div id="5" class="5">5</div> 
$('div').hide(); 

$('#StateSelection').change(function() { 
    var $this = $(this); 
    $('div').filter('.'+$this.val()).show(); 
}); 
+0

不是真的,我想點擊一個提交按鈕後可以更新的東西。我已經能夠做你所做的事了 – 2012-04-06 13:14:13