Форма Mootools на сайте без Domready - PullRequest
0 голосов
/ 05 августа 2011

Нет ничего плохого в следующем фрагменте кода mootools. Что я хотел бы сделать, переписать его с событием onsubmit и без domready, как во втором блоке кода. Спасибо.

<html> 
<head>  
<title>Simplest Form Ajax</title> 
<script type="text/javascript" src="../mootools/mootools-core-1.3.2fc.js"></script>
    <script type="text/javascript">
    window.addEvent('domready', function() {
        $('myForm').addEvent('submit', function(e) { 
            e.stop();
            this.set('send', {
                onComplete: function(response) {
                    $('log_res').set('html', response);
                }
            });
            this.send();
        });
    });    
</script>
</head>  
<body> 
<h3>Send a Form with Ajax</h3>
<form id="myForm" action="ajaxRes.php" method="post">
    <div>
        <p>Enter something:
            <input type="text" name="something" value="John" />
            <input type="submit" />
        </p>
    </div>
</form></br></br>
<h3>Ajax Response</h3>
<div id="log_res"></div>
</body>
</html>

Незаконченный код:

<html> 
<head>  
<title>Simplest Form Ajax</title> 
<script type="text/javascript" src="../mootools/mootools-core-1.3.2fc.js"></script>
    <script type="text/javascript">
    function loadMe() { 
          ...
    }); 
</script>
</head>  
<body> 
<h3>Send a Form with Ajax</h3>
<form id="myForm" action="ajaxRes.php" onsubmit="loadMe()" method="post">
    <div>
        <p>Enter something:
            <input type="text" name="something" value="John" />
            <input type="submit" />
        </p>
    </div>
</form></br></br>
<h3>Ajax Response</h3>
<div id="log_res"></div>
</body>
</html>

1 Ответ

0 голосов
/ 10 января 2012

вы можете использовать атрибут действия формы с префиксом javascript: (http://jsfiddle.net/mT7WB/)

Здесь может быть возможная реализация (код не проверен):

<html> 
<head>  
<title>Simplest Form Ajax</title> 
<script type="text/javascript" src="../mootools/mootools-core-1.3.2fc.js"></script>
    <script type="text/javascript">
    function submit() { 
          var obj = {};
          ["something","somethingElse"].each(function(n) {
                obj[n] = ("myForm").getElement("input[name="+n+"]").get("value");
          });
          new Request.HTML({"url" : "ajaxRes.php"}).addEvent("success", function(resp) {$("log_res").adopt(resp);}).post(obj);
    }); 
</script>
</head>  
<body> 
<h3>Send a Form with Ajax</h3>
<form id="myForm" action="javascript:submit()" method="post">
    <div>
        <p>Enter something:
            <input type="text" name="something" value="John" />
            <input type="text" name="somethingElse" value="John" />
            <input type="submit" />
        </p>
    </div>
</form></br></br>
<h3>Ajax Response</h3>
<div id="log_res"></div>
</body>
</html>

Cheers!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...