add error handling & numpy to readme
[matrixnullspace.com.git] / js / matrix.js
1 $(document).ready(function(){
2 $('#submit').click(function(event){
3 if ($('#matrix').val() == ''
4 || $('#matrix').val().match(/[^.\-\d\s]/) != null) {
5 event.preventDefault();
6 $('#results').fadeOut('slow', function() {
7 $('#results').html(
8 $('<span>').attr('id', 'fail').text(
9 $('#matrix').val() == '' ?
10 'Enter a matrix!' : 'Invalid character in matrix.'
11 ));
12 $('#results').fadeIn();
13 });
14 return;
15 }
16 $.get('/calculate', { 'matrix' : $('#matrix').val() })
17 .done(function(data) {
18 $('#results').fadeOut('slow', function() {
19 $('#results').html('').append(
20 $('<li>').text('eigenvalues').append(
21 $('<pre>').text(data.eigenvalues)),
22 $('<li>').text('determinant').append(
23 $('<pre>').text(data.determinant)),
24 $('<li>').text('nullspace').append(
25 $('<pre>').text(data.nullspace))
26 );
27 $('#results').fadeIn();
28 });
29 })
30 .fail(function(data) {
31 $('#results').fadeOut('slow', function() {
32 $('#results').html(
33 $('<span>').attr('id', 'fail')
34 .text('Uh-oh, something\'s gone wrong!'));
35 $('#results').fadeIn();
36 });
37 });
38 });
39 $('textarea').focus(function(e) {
40 $(e.target).text('');
41 $(e.target).css({ 'color' : 'black', 'font-style' : 'none' });
42 });
43 });