2010-12-14 10 views
0

javascriptまたはjQueryではデータベースを主に扱っているが、かなり複雑ではないすべてのデータ。複数のサブミットを使用して複数のサブミットを使用してフォームからすべてのデータを送信しないj-queryおよびjavascriptフォーム

基本的には、3つの異なる送信ボタンがあります。これは、フォームにデータを送信し、プライバシー設定をテーブルに送信します。データベースのテーブルは、各ボタンの正しいプライバシー設定で更新されていますが、フォームの思考部分の値を、それが意図しているPHPファイルに送信していません。

<FORM action="thought_post.php" method="post" name="thought"> 

<INPUT onfocus="this.select(); this.value=''" 
     type="text" value="Thought..." 
     size="72" /> 
<div class="megamenu" style="position: absolute; ;left: 478px; top: 11px;"> 
    <ul> 
     <li class="downservices"><a href="#">Publish...</a></li> 
     <div class="servicesdropped"> 
      <ul class="right"> 
       <input type="hidden" name="privacy"> 
       <li><a href="javascript:poststyle('private')">Private</a></li> 
       <li><a href="javascript:poststyle('friends')">Friends only</a></li> 
       <li><a href="javascript:poststyle('public')">Public</a></li> 
      </ul> 
     </div> 
    </ul> 
</div> 

</FORM> 

と、次のように同じページのヘッダー内のJavaScriptは、次のとおりです:次のように

形式はHTMLで実装されている

<link rel="stylesheet" href="dropdown.css" type="text/css" media="screen" /> 
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $(".downservices").click(function(){ 
      $(".servicesdropped").toggle("fast"); 
     }); 
    }); 
</script> 

<script language="JavaScript" type="text/javascript"> 
<!-- 
    function poststyle(selectedtype) 
    { 
     document.thought.privacy.value = selectedtype ; 
     document.thought.submit() ; 
    } 
--> 
</script> 

誰が、なぜthought値を説明できる場合ユーザーが入力したメッセージはthought_post.phpに渡されていません。

+0

JQueryを使用している場合は、インラインJavaScriptを使用する理由は絶対にありません。 – Soviut

答えて

2

nameを「考え」inputに割り当ててみてください。 namevalid for submissionするフォームコントロールのために必要です。

<INPUT onfocus="this.select(); this.value=''" type="text" value="Thought..." size="72" name="thought" /> 

側の注意点として、確認してくださいあなたの他のinputは、有効なマークアップだけでなく、inputタグが自動閉鎖しなければならないです。

<input type="hidden" name="privacy" /> 

行った後これらの変更とFireBugとフォームの投稿を調べて、私は "思考"の正しい値を見ることができます。

また、他の答えに言及すると、separate your JavaScript and HTMLであり、jQueryで完全に達成する必要があります。

希望に役立ちます!

0

プライバシーのフィールド(のような、たとえば、ID =「プライバシー」)のIDを設定し、これでそれを選択してみてください:

getElementById("privacy").value = selectedtype; 

ところで、あなたは1 <script>ブロック内のすべてのjavascriptを置くことができます:スクリプトがダウンしてあなたのHTML内ではありませんので

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $(".downservices").click(function(){ 
      $(".servicesdropped").toggle("fast"); 
     }); 
    }); 

    function poststyle(selectedtype) 
    { 
     document.thought.privacy.value = selectedtype ; 
     document.thought.submit() ; 
    } 
</script> 

また、非常に簡単にjQueryを使って、あなたの入力にフォーカスイベントを扱うことができます。

関連する問題