2012-06-28 27 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(); 

这是许多不同的方法可以做到这一点的..