2012-06-28 23 views
0

驗證碼:jQuery插件形式沒有正常工作

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script src="js/jquery.form.js"></script> 
<script> 
$(document).ready(function() { 
    $('#form1').ajaxForm({ 
    dataType: 'json', 
    success: processJson 
    }); 
}); 

function processJson(data) { 
    if (data.result == "ok") { 
    $("#f1").show(); 
    var usernameValue = $('input[name=us]').fieldValue(); 
    alert("Nombre " + usernameValue); 
    } 
    //alert(data.result); 
} 
</script> 
<script> 
function test_form() { 
    $(document).ready(function() { 
    $('#form2').ajaxForm({ 
     dataType: 'json', 
     success: processJson2 
    }); 
    }); 

    function processJson2(data) { 
    if (data.result == "ok") { 
     $("#f2").show(); 
     var usernameValue = $('input[name=us]').fieldValue(); 
     alert("Nombre " + usernameValue); 
    } 
    //alert(data.result); 
    } 
} 
</script> 
<form name="form1" method="post" action="test_form.post.php" id="form1"> 
    <input type="text" name="us"> 
    <input type="submit" name="Submit" value="Enviar"> 
</form> 
<div id="f1" style="display:none;">Ejecutando Forma 1</div> 
<form name="form2" method="post" action="test_form.post.php" id="form2"> 
    <input type="text" name="us"> 
    <input type="submit" name="Submit" value="Enviar" Onclick="test_form();"> 
</form> 
<div id="f2" style="display:none;">Ejecutando Forma 2</div> 

如果你測試,你可以在一個字段中插入名稱和推比其他形式的按鈕,看到文本插入在其他形式和其他情況相同,沒有相同的字段根據不同形式ID,問候

回答

0

您的問題是,您正在使用通用選擇器來檢索所需的文本框。

當您將以下內容:

$('input[name=us]').fieldValue() 

您檢索第一隨機選擇的文本框,因爲

$('input[name=us]') 

有兩個文本框沒有人響應。它從文檔的頂部開始,它搜索名稱爲「我們」的輸入元素。 你應該做的是類似下面的某事:

$("#form1").find("input[name='us']").val(); 

這是許多不同的方法可以做到這一點的..