<form method='post'>
<input type='text' name='a' />
<input type='text' name='b' />
<input type='submit' />
</form>
$a = $_POST['a'];
$b = $_POST['b'];
// ...
$('form').on('submit', function (e) {
e.preventDefault();
var form = $(this);
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: form.serialize(),
success: function (data) {
//Показваш модала
console.log(data);
},
error: function (data) {
console.log(data);
},
});
});
public function cart($size, $counter)
{
$this->_database->prepare('INSERT INTO cart (email,image,sizes,counter) VALUES(?,?,?,?)', array($arr['email'], $img[0]['image'], $size, $counter))->execute();
}
$submit = $this->_normalize->post('submit');
$size = $this->_normalize->post('size');
$counter = $this->_normalize->post('counter');
if (isset($submit))
{
try
{
$this->_isLoggedModel->isLogged();
}
catch (\Throwable $exc)
{
if ($exc->getMessage() != 'logged')
{
header("Location:" . $this->_link . $this->_data['link_login']);
}
$this->_offerModel->cart($size, $counter);
}
}
$this->layout();
<form method="post">
<select name="size">
<option value="<?php echo $value['size']; ?>">size</option>
</select>
<a id="js-minus" class="minus">-</a>
<span id="counter">1</span>
<a id="js-plus" class="plus">+</a>
<input type="hidden" id="inputCounter" value="" name="counter"/>
<div id="overlay">
<div>
<p>Content you want the user to see goes here.</p>
</div>
</div>
<input type="submit" name="submit" value="Add"/>
</form>
<script type="text/javascript">
$(document).ready(function(){
$('form').on('submit', function(event){
event.preventDefault();
$.post("http://localhost/market/public/offer/", $(this).serialize()).done(function(){
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
});
});
});
</script>
if (isset($submit)) {}
$size = $this->_normalize->post('size');
$counter = $this->_normalize->post('counter');
try
{
$this->_isLoggedModel->isLogged();
}
catch (\Throwable $exc)
{
if ($exc->getMessage() != 'logged')
{
exit('Трябва да си логнат !?');
}
$this->_offerModel->cart($size, $counter);
}
$this->layout();
Това което наблюдавам е че event.preventDefault(); не позволява формата да се субмитне и нормално не прави запис. Ако пък се субмитне страницата се рефрешва и модала изчезва.
teroristd каза:Реално if (isset($submit)) {} пречи на правилното изпълнение. Ако го махна сработва кода, обаче получавам нежелан запис, при достъпване на страницата или при рефреш. Някакви идеи какво мога да направя?
Fakeheal каза:teroristd каза:Реално if (isset($submit)) {} пречи на правилното изпълнение. Ако го махна сработва кода, обаче получавам нежелан запис, при достъпване на страницата или при рефреш. Някакви идеи какво мога да направя?
1. Как пречи if(isset($submit)) {} на правилното изпълнение.
2. Имаш ли някакъв routing? раздели си методите за post и get. Get като се достъпва страницата. Post. когато събмитваш формата.
teroristd каза:Fakeheal каза:teroristd каза:Реално if (isset($submit)) {} пречи на правилното изпълнение. Ако го махна сработва кода, обаче получавам нежелан запис, при достъпване на страницата или при рефреш. Някакви идеи какво мога да направя?
1. Как пречи if(isset($submit)) {} на правилното изпълнение.
2. Имаш ли някакъв routing? раздели си методите за post и get. Get като се достъпва страницата. Post. когато събмитваш формата.
На първа страница съм пуснал кода който имам.