jQuery('form').on('submit',function(e){
e.preventDefault(); //Отменили нативное действие
(e.cancelBubble) ? e.cancelBubble : e.stopPropagation; //Погасили всплытие
}
jQuery('form').submit(function(){
return false; //Отменили нативное действие
});
jQuery('form').on('submit',function(e){
var flag = true,
inputs = jQuery('input:not([type="submit"])',this); // Вторым аргументом указываем где искать
inputs.each(function(){
if(jQuery(this).val() == ''){
flag = false;
}
});
if(flag){
/* Ajax запрос */
alert('Запрос!');
} else {
alert('Заполни меня!!!');
}
e.preventDefault(); //Отменили нативное действие
(e.cancelBubble) ? e.cancelBubble : e.stopPropagation; //Погасили всплытие
});
function send_form(form_id) {
var form = $('#'+form_id);
var msg = form.serialize();
$.ajax({
type: 'POST',
url: '../handlers/hSentEmailCall.php', // Обработчик собственно
data: msg,
success: function(data) {
// запустится при успешном выполнении запроса и в data будет ответ скрипта
},
error: function(){
alert('Ошибка!');
}
});
}
<a href="#" class="add" onclick='send_form('add')'>Добавить</a>
const Foo = ({ dispatch }) => {
const handler = useCallback(() => {
dispatch(action());
}, []);
return (
<Bar onClick={handler} />
);
};
export default connect()(Foo);
const Foo = () => {
const dispatch = useDispatch();
const handler = useCallback(() => {
dispatch(action());
}, []);
return (
<Bar onClick={handler} />
);
};
export default Foo;
const Foo = ({ value }) => {
return (
<Bar value={value} />
);
};
const mapStateToProps = state => ({
value: state.value,
});
export default connect(mapStateToProps)(Foo);
const Foo = () => {
const value = useSelector(state => state.value);
return (
<Bar value={value} />
);
};
export default Foo;
const valueSelector = state => state.value;
const Foo = () => {
const { dispatch, getState, subscribe } = useStore();
const value = valueSelector(getState());
useEffect(() => subscribe(console.log), []);
const handler = useCallback(() => {
dispatch(action());
}, []);
return (
<Bar onClick={handler} value={value} />
);
};
export default Foo;
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
alert(allText);
}
}
}
rawFile.send(null);
}
readTextFile("file:///C:/your/path/to/file.txt");
// i18n.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import english from '@/lang/english.js'
import russian from '@/lang/russian.js'
Vue.use(VueI18n)
let messages = {
en : english,
ru : russian,
}
export default new VueI18n({
//locale: 'ru',
locale: window.localStorage.Language || 'ru',
fallbackLocale: 'ru',
messages
})
// router.js
...
import i18n from '@/path/to/i18n.js'
...
{
path: '/about',
component: About,
meta: { title: i18n.t('about') }
}
// main.js
import Vue from 'vue'
import App from './App'
import Vuetify from 'vuetify'
import router from './router'
import axios from 'axios'
import store from './store';
import i18n from '@/path/to/i18n.js'
Vue.config.productionTip = false
Vue.use(Vuetify)
Vue.axios = Vue.prototype.$http = axios.create({
baseURL: 'http://localhost:5000/api'
})
/* eslint-disable no-new */
new Vue({
el: '#app',
i18n,
router,
store,
components: { App },
template: '<App/>',
created() {
this.$vuetify.theme.primary = '#01579B'
}
})